diff --git a/packages/google-api-serviceusage/.eslintignore b/packages/google-api-serviceusage/.eslintignore new file mode 100644 index 00000000000..ea5b04aebe6 --- /dev/null +++ b/packages/google-api-serviceusage/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ +samples/generated/ diff --git a/packages/google-api-serviceusage/.eslintrc.json b/packages/google-api-serviceusage/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/packages/google-api-serviceusage/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/packages/google-api-serviceusage/.gitattributes b/packages/google-api-serviceusage/.gitattributes new file mode 100644 index 00000000000..33739cb74e4 --- /dev/null +++ b/packages/google-api-serviceusage/.gitattributes @@ -0,0 +1,4 @@ +*.ts text eol=lf +*.js text eol=lf +protos/* linguist-generated +**/api-extractor.json linguist-language=JSON-with-Comments diff --git a/packages/google-api-serviceusage/.github/.OwlBot.yaml b/packages/google-api-serviceusage/.github/.OwlBot.yaml new file mode 100644 index 00000000000..8538b825663 --- /dev/null +++ b/packages/google-api-serviceusage/.github/.OwlBot.yaml @@ -0,0 +1,23 @@ +# Copyright 2021 Google LLC +# +# Licensed under the Apache License, Version 2.0 (the "License"); +# you may not use this file except in compliance with the License. +# You may obtain a copy of the License at +# +# http://www.apache.org/licenses/LICENSE-2.0 +# +# Unless required by applicable law or agreed to in writing, software +# distributed under the License is distributed on an "AS IS" BASIS, +# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +# See the License for the specific language governing permissions and +# limitations under the License. +docker: + image: gcr.io/cloud-devrel-public-resources/owlbot-nodejs:latest + +deep-remove-regex: + - /owl-bot-staging + +deep-copy-regex: + - source: /google/api/serviceusage/(.*)/.*-nodejs/(.*) + dest: /owl-bot-staging/$1/$2 + diff --git a/packages/google-api-serviceusage/.gitignore b/packages/google-api-serviceusage/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/packages/google-api-serviceusage/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/packages/google-api-serviceusage/.jsdoc.js b/packages/google-api-serviceusage/.jsdoc.js new file mode 100644 index 00000000000..ac804e1e645 --- /dev/null +++ b/packages/google-api-serviceusage/.jsdoc.js @@ -0,0 +1,55 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +module.exports = { + opts: { + readme: './README.md', + package: './package.json', + template: './node_modules/jsdoc-fresh', + recurse: true, + verbose: true, + destination: './docs/' + }, + plugins: [ + 'plugins/markdown', + 'jsdoc-region-tag' + ], + source: { + excludePattern: '(^|\\/|\\\\)[._]', + include: [ + 'build/src', + 'protos' + ], + includePattern: '\\.js$' + }, + templates: { + copyright: 'Copyright 2022 Google LLC', + includeDate: false, + sourceFiles: false, + systemName: '@google-cloud/service-usage', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/packages/google-api-serviceusage/.mocharc.js b/packages/google-api-serviceusage/.mocharc.js new file mode 100644 index 00000000000..0b600509bed --- /dev/null +++ b/packages/google-api-serviceusage/.mocharc.js @@ -0,0 +1,29 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000, + "recursive": true +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/packages/google-api-serviceusage/.nycrc b/packages/google-api-serviceusage/.nycrc new file mode 100644 index 00000000000..b18d5472b62 --- /dev/null +++ b/packages/google-api-serviceusage/.nycrc @@ -0,0 +1,24 @@ +{ + "report-dir": "./.coverage", + "reporter": ["text", "lcov"], + "exclude": [ + "**/*-test", + "**/.coverage", + "**/apis", + "**/benchmark", + "**/conformance", + "**/docs", + "**/samples", + "**/scripts", + "**/protos", + "**/test", + "**/*.d.ts", + ".jsdoc.js", + "**/.jsdoc.js", + "karma.conf.js", + "webpack-tests.config.js", + "webpack.config.js" + ], + "exclude-after-remap": false, + "all": true +} diff --git a/packages/google-api-serviceusage/.prettierignore b/packages/google-api-serviceusage/.prettierignore new file mode 100644 index 00000000000..9340ad9b86d --- /dev/null +++ b/packages/google-api-serviceusage/.prettierignore @@ -0,0 +1,6 @@ +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ diff --git a/packages/google-api-serviceusage/.prettierrc.js b/packages/google-api-serviceusage/.prettierrc.js new file mode 100644 index 00000000000..d1b95106f4c --- /dev/null +++ b/packages/google-api-serviceusage/.prettierrc.js @@ -0,0 +1,17 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/packages/google-api-serviceusage/.repo-metadata.json b/packages/google-api-serviceusage/.repo-metadata.json new file mode 100644 index 00000000000..eef9386c7cd --- /dev/null +++ b/packages/google-api-serviceusage/.repo-metadata.json @@ -0,0 +1,16 @@ +{ + "name": "service-usage", + "name_pretty": "Service Usage", + "product_documentation": "https://cloud.google.com/service-usage/", + "client_documentation": "https://cloud.google.com/service-usage/docs/overview", + "issue_tracker": "https://www.github.com/googleapis/nodejs-service-usage/issues", + "release_level": "stable", + "language": "nodejs", + "repo": "googleapis/nodejs-service-usage", + "distribution_name": "@google-cloud/service-usage", + "api_id": "serviceusage.googleapis.com", + "requires_billing": true, + "default_version": "v1", + "api_shortname": "serviceusage", + "library_type": "GAPIC_AUTO" +} diff --git a/packages/google-api-serviceusage/CHANGELOG.md b/packages/google-api-serviceusage/CHANGELOG.md new file mode 100644 index 00000000000..ace08cd1e43 --- /dev/null +++ b/packages/google-api-serviceusage/CHANGELOG.md @@ -0,0 +1,108 @@ +# Changelog + +## [2.1.2](https://github.com/googleapis/nodejs-service-usage/compare/v2.1.1...v2.1.2) (2022-11-11) + + +### Bug Fixes + +* Allow passing gax instance to client constructor ([#110](https://github.com/googleapis/nodejs-service-usage/issues/110)) ([8120d5a](https://github.com/googleapis/nodejs-service-usage/commit/8120d5aa9d7bad7c712ee5abe2629a77820ccceb)) +* **deps:** Use google-gax v3.5.2 ([#118](https://github.com/googleapis/nodejs-service-usage/issues/118)) ([605da4a](https://github.com/googleapis/nodejs-service-usage/commit/605da4a084da827dd69ce280a2e77866179c4938)) +* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-service-usage/issues/1553)) ([#109](https://github.com/googleapis/nodejs-service-usage/issues/109)) ([700fd54](https://github.com/googleapis/nodejs-service-usage/commit/700fd54fde70143cb2dc10f8d9f810dafa3ac808)) +* Preserve default values in x-goog-request-params header ([#112](https://github.com/googleapis/nodejs-service-usage/issues/112)) ([9d8d4c4](https://github.com/googleapis/nodejs-service-usage/commit/9d8d4c4fb2daace3210ec333e18a3f70f5f53c5a)) +* Regenerated protos JS and TS definitions ([#121](https://github.com/googleapis/nodejs-service-usage/issues/121)) ([977373e](https://github.com/googleapis/nodejs-service-usage/commit/977373ecaadaaf8da2d22330ca2558fd052146b3)) +* use google-gax v3.3.0 ([700fd54](https://github.com/googleapis/nodejs-service-usage/commit/700fd54fde70143cb2dc10f8d9f810dafa3ac808)) + +## [2.1.1](https://github.com/googleapis/nodejs-service-usage/compare/v2.1.0...v2.1.1) (2022-08-23) + + +### Bug Fixes + +* better support for fallback mode ([#105](https://github.com/googleapis/nodejs-service-usage/issues/105)) ([9cf34e1](https://github.com/googleapis/nodejs-service-usage/commit/9cf34e15b2b7c2d259b5cc42052b913328e0071e)) +* change import long to require ([#106](https://github.com/googleapis/nodejs-service-usage/issues/106)) ([4f574a0](https://github.com/googleapis/nodejs-service-usage/commit/4f574a04a9017fe5797afa28fda5f6b47e512bc0)) +* remove pip install statements ([#1546](https://github.com/googleapis/nodejs-service-usage/issues/1546)) ([#108](https://github.com/googleapis/nodejs-service-usage/issues/108)) ([c49f10a](https://github.com/googleapis/nodejs-service-usage/commit/c49f10a089baef23b9cac55bed1dc8b8f94f9406)) + +## [2.1.0](https://github.com/googleapis/nodejs-service-usage/compare/v2.0.0...v2.1.0) (2022-06-30) + + +### Features + +* support regapic LRO ([#98](https://github.com/googleapis/nodejs-service-usage/issues/98)) ([b433238](https://github.com/googleapis/nodejs-service-usage/commit/b433238b176cd86469c4951a0b43c5bdb00d4540)) + +## [2.0.0](https://github.com/googleapis/nodejs-service-usage/compare/v1.2.1...v2.0.0) (2022-05-20) + + +### ⚠ BREAKING CHANGES + +* update library to use Node 12 (#92) + +### Build System + +* update library to use Node 12 ([#92](https://github.com/googleapis/nodejs-service-usage/issues/92)) ([9320ff9](https://github.com/googleapis/nodejs-service-usage/commit/9320ff9fa52529a0cb75992f446493fa36165484)) + +### [1.2.1](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.2.0...v1.2.1) (2021-09-10) + + +### Bug Fixes + +* **build:** set default branch to main ([#43](https://www.github.com/googleapis/nodejs-service-usage/issues/43)) ([1fb6128](https://www.github.com/googleapis/nodejs-service-usage/commit/1fb61286aa4822531057675439c8e702f10f2559)) + +## [1.2.0](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.1.4...v1.2.0) (2021-08-23) + + +### Features + +* turns on self-signed JWT feature flag ([#40](https://www.github.com/googleapis/nodejs-service-usage/issues/40)) ([1474878](https://www.github.com/googleapis/nodejs-service-usage/commit/14748784647a02f42df8cc1fd53ed3ddf9dfe589)) + +### [1.1.4](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.1.3...v1.1.4) (2021-08-17) + + +### Bug Fixes + +* **deps:** google-gax v2.24.1 ([#38](https://www.github.com/googleapis/nodejs-service-usage/issues/38)) ([021b0eb](https://www.github.com/googleapis/nodejs-service-usage/commit/021b0eb4c69c1ed485aac388c2a5583547dbb3ad)) + +### [1.1.3](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.1.2...v1.1.3) (2021-07-30) + + +### Bug Fixes + +* failing tests for LRO check methods ([#35](https://www.github.com/googleapis/nodejs-service-usage/issues/35)) ([f961511](https://www.github.com/googleapis/nodejs-service-usage/commit/f961511fe88658592857cca70dce14b92568b725)) + +### [1.1.2](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.1.1...v1.1.2) (2021-07-12) + + +### Bug Fixes + +* **deps:** google-gax v2.17.1 ([#29](https://www.github.com/googleapis/nodejs-service-usage/issues/29)) ([6c754c1](https://www.github.com/googleapis/nodejs-service-usage/commit/6c754c101a426386f2e9ce4462f3863f13c2b52e)) + +### [1.1.1](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.1.0...v1.1.1) (2021-06-30) + + +### Bug Fixes + +* **deps:** google-gax v2.17.0 with mTLS ([#27](https://www.github.com/googleapis/nodejs-service-usage/issues/27)) ([c1738e8](https://www.github.com/googleapis/nodejs-service-usage/commit/c1738e82d175c921178a3d52b75197fbd791df02)) +* make request optional in all cases ([#19](https://www.github.com/googleapis/nodejs-service-usage/issues/19)) ([fcdb1a5](https://www.github.com/googleapis/nodejs-service-usage/commit/fcdb1a5900b7bac5ae1b8b0e211d024b2b7e9579)) + +## [1.1.0](https://www.github.com/googleapis/nodejs-service-usage/compare/v1.0.0...v1.1.0) (2021-05-29) + + +### Features + +* update serviceusage v1beta1 API ([#10](https://www.github.com/googleapis/nodejs-service-usage/issues/10)) ([8a98520](https://www.github.com/googleapis/nodejs-service-usage/commit/8a9852049e79a71a0a25f14e6eff806a4893642d)) + + +### Bug Fixes + +* GoogleAdsError missing using generator version after 1.3.0 ([#9](https://www.github.com/googleapis/nodejs-service-usage/issues/9)) ([2fa7011](https://www.github.com/googleapis/nodejs-service-usage/commit/2fa7011abb318a15cd248b7abeb921540c60d34f)) + +## 1.0.0 (2021-05-25) + + +### ⚠ BREAKING CHANGES + +* bump to GA release level (#6) + +### Features + +* bump to GA release level ([#6](https://www.github.com/googleapis/nodejs-service-usage/issues/6)) ([ed9fe6d](https://www.github.com/googleapis/nodejs-service-usage/commit/ed9fe6dc1a486d5dd2591c01d49ca05fca908b12)) +* initial generation of library ([4e78126](https://www.github.com/googleapis/nodejs-service-usage/commit/4e781266eb45ac52c2465f88fb7b7d68a3ee1f47)) +* **samples:** add example of listing service usage ([#2](https://www.github.com/googleapis/nodejs-service-usage/issues/2)) ([048c44f](https://www.github.com/googleapis/nodejs-service-usage/commit/048c44f8f36483b0016b1573b9439d1a1a6643d4)) diff --git a/packages/google-api-serviceusage/CODE_OF_CONDUCT.md b/packages/google-api-serviceusage/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..2add2547a81 --- /dev/null +++ b/packages/google-api-serviceusage/CODE_OF_CONDUCT.md @@ -0,0 +1,94 @@ + +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, education, socio-economic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when the Project +Steward has a reasonable belief that an individual's behavior may have a +negative impact on the project or its community. + +## Conflict Resolution + +We do not believe that all conflict is bad; healthy debate and disagreement +often yield positive results. However, it is never okay to be disrespectful or +to engage in behavior that violates the project’s code of conduct. + +If you see someone violating the code of conduct, you are encouraged to address +the behavior directly with those involved. Many issues can be resolved quickly +and easily, and this gives people more control over the outcome of their +dispute. If you are unable to resolve the matter for any reason, or if the +behavior is threatening or harassing, report it. We are dedicated to providing +an environment where participants feel welcome and safe. + +Reports should be directed to *googleapis-stewards@google.com*, the +Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to +receive and address reported violations of the code of conduct. They will then +work with a committee consisting of representatives from the Open Source +Programs Office and the Google Open Source Strategy team. If for any reason you +are uncomfortable reaching out to the Project Steward, please email +opensource@google.com. + +We will investigate every complaint, but you may not receive a direct response. +We will use our discretion in determining when and how to follow up on reported +incidents, which may range from not taking action to permanent expulsion from +the project and project-sponsored spaces. We will notify the accused of the +report and provide them an opportunity to discuss it before any action is taken. +The identity of the reporter will be omitted from the details of the report +supplied to the accused. In potentially harmful situations, such as ongoing +harassment or threats to anyone's safety, we may take action without notice. + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/packages/google-api-serviceusage/CONTRIBUTING.md b/packages/google-api-serviceusage/CONTRIBUTING.md new file mode 100644 index 00000000000..ee5411ed629 --- /dev/null +++ b/packages/google-api-serviceusage/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# How to become a contributor and submit your own code + +**Table of contents** + +* [Contributor License Agreements](#contributor-license-agreements) +* [Contributing a patch](#contributing-a-patch) +* [Running the tests](#running-the-tests) +* [Releasing the library](#releasing-the-library) + +## Contributor License Agreements + +We'd love to accept your sample apps and patches! Before we can take them, we +have to jump a couple of legal hurdles. + +Please fill out either the individual or corporate Contributor License Agreement +(CLA). + + * If you are an individual writing original source code and you're sure you + own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual). + * If you work for a company that wants to allow you to contribute your work, + then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate). + +Follow either of the two links above to access the appropriate CLA and +instructions for how to sign and return it. Once we receive it, we'll be able to +accept your pull requests. + +## Contributing A Patch + +1. Submit an issue describing your proposed change to the repo in question. +1. The repo owner will respond to your issue promptly. +1. If your proposed change is accepted, and you haven't already done so, sign a + Contributor License Agreement (see details above). +1. Fork the desired repo, develop and test your code changes. +1. Ensure that your code adheres to the existing style in the code to which + you are contributing. +1. Ensure that your code has an appropriate set of tests which all pass. +1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling. +1. Submit a pull request. + +### Before you begin + +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Service Usage 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=serviceusage.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-api-serviceusage/LICENSE b/packages/google-api-serviceusage/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/packages/google-api-serviceusage/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/google-api-serviceusage/README.md b/packages/google-api-serviceusage/README.md new file mode 100644 index 00000000000..3fca764505c --- /dev/null +++ b/packages/google-api-serviceusage/README.md @@ -0,0 +1,158 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Service Usage: Node.js Client](https://github.com/googleapis/nodejs-service-usage) + +[![release level](https://img.shields.io/badge/release%20level-stable-brightgreen.svg?style=flat)](https://cloud.google.com/terms/launch-stages) +[![npm version](https://img.shields.io/npm/v/@google-cloud/service-usage.svg)](https://www.npmjs.org/package/@google-cloud/service-usage) + + + + +Serviceusage client for Node.js + + +A comprehensive list of changes in each version may be found in +[the CHANGELOG](https://github.com/googleapis/nodejs-service-usage/blob/main/CHANGELOG.md). + +* [Service Usage Node.js Client API Reference][client-docs] +* [Service Usage Documentation][product-docs] +* [github.com/googleapis/nodejs-service-usage](https://github.com/googleapis/nodejs-service-usage) + +Read more about the client libraries for Cloud APIs, including the older +Google APIs Client Libraries, in [Client Libraries Explained][explained]. + +[explained]: https://cloud.google.com/apis/docs/client-libraries-explained + +**Table of contents:** + + +* [Quickstart](#quickstart) + * [Before you begin](#before-you-begin) + * [Installing the client library](#installing-the-client-library) + * [Using the client library](#using-the-client-library) +* [Samples](#samples) +* [Versioning](#versioning) +* [Contributing](#contributing) +* [License](#license) + +## Quickstart + +### Before you begin + +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Service Usage API][enable_api]. +1. [Set up authentication with a service account][auth] so you can access the + API from your local workstation. + +### Installing the client library + +```bash +npm install @google-cloud/service-usage +``` + + +### Using the client library + +```javascript +// Imports the Google Cloud client library +const {ServiceUsageClient} = require('@google-cloud/service-usage'); + +// const parent = 'projects/my-project', // Project to list service usage for. +// filter = 'state:ENABLED' // Filter when listing services. + +// Creates a client +const client = new ServiceUsageClient(); +async function listServices() { + for await (const service of client.listServicesAsync({ + parent, + filter, + })) { + console.info(service.name); + } +} +listServices(); + +``` + + + +## Samples + +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-service-usage/tree/main/samples) directory. Each sample's `README.md` has instructions for running its sample. + +| Sample | Source Code | Try it | +| --------------------------- | --------------------------------- | ------ | +| Quickstart | [source code](https://github.com/googleapis/nodejs-service-usage/blob/main/samples/quickstart.js) | [![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-usage&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | + + + +The [Service Usage Node.js Client API Reference][client-docs] documentation +also contains samples. + +## Supported Node.js Versions + +Our client libraries follow the [Node.js release schedule](https://nodejs.org/en/about/releases/). +Libraries are compatible with all current _active_ and _maintenance_ versions of +Node.js. +If you are using an end-of-life version of Node.js, we recommend that you update +as soon as possible to an actively supported LTS version. + +Google's client libraries support legacy versions of Node.js runtimes on a +best-efforts basis with the following warnings: + +* Legacy versions are not tested in continuous integration. +* Some security patches and features cannot be backported. +* Dependencies cannot be kept up-to-date. + +Client libraries targeting some end-of-life versions of Node.js are available, and +can be installed through npm [dist-tags](https://docs.npmjs.com/cli/dist-tag). +The dist-tags follow the naming convention `legacy-(version)`. +For example, `npm install @google-cloud/service-usage@legacy-8` installs client libraries +for versions compatible with Node.js 8. + +## Versioning + +This library follows [Semantic Versioning](http://semver.org/). + + + +This library is considered to be **stable**. The code surface will not change in backwards-incompatible ways +unless absolutely necessary (e.g. because of critical security issues) or with +an extensive deprecation period. Issues and requests against **stable** libraries +are addressed with the highest priority. + + + + + + +More Information: [Google Cloud Platform Launch Stages][launch_stages] + +[launch_stages]: https://cloud.google.com/terms/launch-stages + +## Contributing + +Contributions welcome! See the [Contributing Guide](https://github.com/googleapis/nodejs-service-usage/blob/main/CONTRIBUTING.md). + +Please note that this `README.md`, the `samples/README.md`, +and a variety of configuration files in this repository (including `.nycrc` and `tsconfig.json`) +are generated from a central template. To edit one of these files, make an edit +to its templates in +[directory](https://github.com/googleapis/synthtool). + +## License + +Apache Version 2.0 + +See [LICENSE](https://github.com/googleapis/nodejs-service-usage/blob/main/LICENSE) + +[client-docs]: https://cloud.google.com/service-usage/docs/overview +[product-docs]: https://cloud.google.com/service-usage/ +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png +[projects]: https://console.cloud.google.com/project +[billing]: https://support.google.com/cloud/answer/6293499#enable-billing +[enable_api]: https://console.cloud.google.com/flows/enableapi?apiid=serviceusage.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started diff --git a/packages/google-api-serviceusage/linkinator.config.json b/packages/google-api-serviceusage/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/packages/google-api-serviceusage/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/packages/google-api-serviceusage/package.json b/packages/google-api-serviceusage/package.json new file mode 100644 index 00000000000..f56c2062f6d --- /dev/null +++ b/packages/google-api-serviceusage/package.json @@ -0,0 +1,66 @@ +{ + "name": "@google-cloud/service-usage", + "version": "2.1.2", + "description": "Serviceusage client for Node.js", + "repository": "googleapis/nodejs-service-usage", + "license": "Apache-2.0", + "author": "Google LLC", + "main": "build/src/index.js", + "files": [ + "build/src", + "build/protos" + ], + "keywords": [ + "google apis client", + "google api client", + "google apis", + "google api", + "google", + "google cloud platform", + "google cloud", + "cloud", + "google serviceusage", + "serviceusage", + "service usage" + ], + "scripts": { + "clean": "gts clean", + "compile": "tsc -p . && cp -r protos build/", + "compile-protos": "compileProtos src", + "docs": "jsdoc -c .jsdoc.js", + "predocs-test": "npm run docs", + "docs-test": "linkinator docs", + "fix": "gts fix", + "lint": "gts check", + "prepare": "npm run compile-protos && npm run compile", + "system-test": "c8 mocha build/system-test", + "test": "c8 mocha build/test", + "samples-test": "cd samples/ && npm link ../ && npm test", + "prelint": "cd samples; npm link ../; npm i" + }, + "dependencies": { + "google-gax": "^3.5.2" + }, + "devDependencies": { + "@types/mocha": "^9.0.0", + "@types/node": "^18.0.0", + "@types/sinon": "^10.0.0", + "c8": "^7.7.2", + "gts": "^3.1.0", + "jsdoc": "^4.0.0", + "jsdoc-fresh": "^2.0.0", + "jsdoc-region-tag": "^2.0.0", + "linkinator": "^4.0.0", + "mocha": "^9.2.2", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^9.1.2", + "typescript": "^4.6.4", + "webpack": "^5.36.2", + "webpack-cli": "^4.7.0" + }, + "engines": { + "node": ">=12.0.0" + } +} diff --git a/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/resources.proto b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/resources.proto new file mode 100644 index 00000000000..b78ba0f332c --- /dev/null +++ b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/resources.proto @@ -0,0 +1,121 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.serviceusage.v1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// A service that is available for use by the consumer. +message Service { + // The resource name of the consumer and service. + // + // A valid name would be: + // - projects/123/services/serviceusage.googleapis.com + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - projects/123 + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // Defines the monitored resources used by this service. This is required + // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. + repeated google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} diff --git a/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/serviceusage.proto b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/serviceusage.proto new file mode 100644 index 00000000000..41c5e2d4ce6 --- /dev/null +++ b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1/serviceusage.proto @@ -0,0 +1,301 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.serviceusage.v1; + +import "google/api/annotations.proto"; +import "google/api/serviceusage/v1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/api/client.proto"; + +option csharp_namespace = "Google.Cloud.ServiceUsage.V1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1"; +option php_namespace = "Google\\Cloud\\ServiceUsage\\V1"; +option ruby_package = "Google::Cloud::ServiceUsage::V1"; + +// Enables services that service consumers want to use on Google Cloud Platform, +// lists the available or enabled services, or disables services that service +// consumers no longer use. +// +// See [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/service.management"; + + // Enable a service so that it can be used with a project. + rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "EnableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Disable a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "DisableServiceResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option (google.api.http) = { + get: "/v1/{name=*/*/services/*}" + }; + } + + // List all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + // + // WARNING: If you need to query enabled services frequently or across + // an organization, you should use + // [Cloud Asset Inventory + // API](https://cloud.google.com/asset-inventory/docs/apis), which provides + // higher throughput and richer filtering capability. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services" + }; + } + + // Enable multiple services on a project. The operation is atomic: if enabling + // any service fails, then the entire batch fails, and no state changes occur. + // To enable a single service, use the `EnableService` method instead. + rpc BatchEnableServices(BatchEnableServicesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "BatchEnableServicesResponse" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configurations and enabled states for a given list of + // services. + rpc BatchGetServices(BatchGetServicesRequest) returns (BatchGetServicesResponse) { + option (google.api.http) = { + get: "/v1/{parent=*/*}/services:batchGet" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Response message for the `EnableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message EnableServiceResponse { + // The new state of the service after enabling. + Service service = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Enum to determine if service usage should be checked when disabling a + // service. + enum CheckIfServiceHasUsage { + // When unset, the default behavior is used, which is SKIP. + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = 0; + + // If set, skip checking service usage when disabling a service. + SKIP = 1; + + // If set, service usage is checked when disabling the service. If a + // service, or its dependents, has usage in the last 30 days, the request + // returns a FAILED_PRECONDITION error. + CHECK = 2; + } + + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; + + // Indicates if services that are enabled and which depend on this service + // should also be disabled. If not set, an error will be generated if any + // enabled services depend on the service to be disabled. When set, the + // service, and any enabled services that depend on it, will be disabled + // together. + bool disable_dependent_services = 2; + + // Defines the behavior for checking service usage when disabling a service. + CheckIfServiceHasUsage check_if_service_has_usage = 3; +} + +// Response message for the `DisableService` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message DisableServiceResponse { + // The new state of the service after disabling. + Service service = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` where `123` is the project number. + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Response message for the `BatchEnableServices` method. +// This response message is assigned to the `response` field of the returned +// Operation when that operation is done. +message BatchEnableServicesResponse { + // Provides error messages for the failing services. + message EnableFailure { + // The service id of a service that could not be enabled. + string service_id = 1; + + // An error message describing why the service could not be enabled. + string error_message = 2; + } + + // The new state of the services after enabling. + repeated Service services = 1; + + // If allow_partial_success is true, and one or more services could not be + // enabled, this field contains the details about each failure. + repeated EnableFailure failures = 2; +} + +// Request message for the `BatchGetServices` method. +message BatchGetServicesRequest { + // Parent to retrieve services from. + // If this is set, the parent of all of the services specified in `names` must + // match this field. An example name would be: `projects/123` where `123` is + // the project number. The `BatchGetServices` method currently only supports + // projects. + string parent = 1; + + // Names of the services to retrieve. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` where `123` is the + // project number. + // A single request can get a maximum of 30 services at a time. + repeated string names = 2; +} + +// Response message for the `BatchGetServices` method. +message BatchGetServicesResponse { + // The requested Service states. + repeated Service services = 1; +} diff --git a/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/resources.proto b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/resources.proto new file mode 100644 index 00000000000..a68437c3c40 --- /dev/null +++ b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/resources.proto @@ -0,0 +1,394 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.serviceusage.v1beta1; + +import "google/api/auth.proto"; +import "google/api/documentation.proto"; +import "google/api/endpoint.proto"; +import "google/api/monitored_resource.proto"; +import "google/api/monitoring.proto"; +import "google/api/quota.proto"; +import "google/api/usage.proto"; +import "google/protobuf/api.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ResourcesProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// A service that is available for use by the consumer. +message Service { + // The resource name of the consumer and service. + // + // A valid name would be: + // - `projects/123/services/serviceusage.googleapis.com` + string name = 1; + + // The resource name of the consumer. + // + // A valid name would be: + // - `projects/123` + string parent = 5; + + // The service configuration of the available service. + // Some fields may be filtered out of the configuration in responses to + // the `ListServices` method. These fields are present only in responses to + // the `GetService` method. + ServiceConfig config = 2; + + // Whether or not the service has been enabled for use by the consumer. + State state = 4; +} + +// Whether or not a service has been enabled for use by a consumer. +enum State { + // The default value, which indicates that the enabled state of the service + // is unspecified or not meaningful. Currently, all consumers other than + // projects (such as folders and organizations) are always in this state. + STATE_UNSPECIFIED = 0; + + // The service cannot be used by this consumer. It has either been explicitly + // disabled, or has never been enabled. + DISABLED = 1; + + // The service has been explicitly enabled for use by this consumer. + ENABLED = 2; +} + +// The configuration of the service. +message ServiceConfig { + // The DNS address at which this service is available. + // + // An example DNS address would be: + // `calendar.googleapis.com`. + string name = 1; + + // The product title for this service. + string title = 2; + + // A list of API interfaces exported by this service. Contains only the names, + // versions, and method names of the interfaces. + repeated google.protobuf.Api apis = 3; + + // Additional API documentation. Contains only the summary and the + // documentation URL. + google.api.Documentation documentation = 6; + + // Quota configuration. + google.api.Quota quota = 10; + + // Auth configuration. Contains only the OAuth rules. + google.api.Authentication authentication = 11; + + // Configuration controlling usage of this service. + google.api.Usage usage = 15; + + // Configuration for network endpoints. Contains only the names and aliases + // of the endpoints. + repeated google.api.Endpoint endpoints = 18; + + // Defines the monitored resources used by this service. This is required + // by the [Service.monitoring][google.api.Service.monitoring] and [Service.logging][google.api.Service.logging] configurations. + repeated google.api.MonitoredResourceDescriptor monitored_resources = 25; + + // Monitoring configuration. + // This should not include the 'producer_destinations' field. + google.api.Monitoring monitoring = 28; +} + +// The operation metadata returned for the batchend services operation. +message OperationMetadata { + // The full name of the resources that this operation is directly + // associated with. + repeated string resource_names = 2; +} + +// Consumer quota settings for a quota metric. +message ConsumerQuotaMetric { + // The resource name of the quota settings on this metric for this consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the metric. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The display name of the metric. + // + // An example name would be: + // `CPUs` + string display_name = 2; + + // The consumer quota for each quota limit defined on the metric. + repeated ConsumerQuotaLimit consumer_quota_limits = 3; + + // The quota limits targeting the descendant containers of the + // consumer in request. + // + // If the consumer in request is of type `organizations` + // or `folders`, the field will list per-project limits in the metric; if the + // consumer in request is of type `project`, the field will be empty. + // + // The `quota_buckets` field of each descendant consumer quota limit will not + // be populated. + repeated ConsumerQuotaLimit descendant_consumer_quota_limits = 6; + + // The units in which the metric value is reported. + string unit = 5; +} + +// Consumer quota settings for a quota limit. +message ConsumerQuotaLimit { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The name of the parent metric of this limit. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 8; + + // The limit unit. + // + // An example unit would be + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 2; + + // Whether this limit is precise or imprecise. + bool is_precise = 3; + + // Whether admin overrides are allowed on this limit + bool allows_admin_overrides = 7; + + // Summary of the enforced quota buckets, organized by quota dimension, + // ordered from least specific to most specific (for example, the global + // default bucket, with no quota dimensions, will always appear first). + repeated QuotaBucket quota_buckets = 9; +} + +// Selected view of quota. Can be used to request more detailed quota +// information when retrieving quota metrics and limits. +enum QuotaView { + // No quota view specified. Requests that do not specify a quota view will + // typically default to the BASIC view. + QUOTA_VIEW_UNSPECIFIED = 0; + + // Only buckets with overrides are shown in the response. + BASIC = 1; + + // Include per-location buckets even if they do not have overrides. + // When the view is FULL, and a limit has regional or zonal quota, the limit + // will include buckets for all regions or zones that could support + // overrides, even if none are currently present. In some cases this will + // cause the response to become very large; callers that do not need this + // extra information should use the BASIC view instead. + FULL = 2; +} + +// A quota bucket is a quota provisioning unit for a specific set of dimensions. +message QuotaBucket { + // The effective limit of this quota bucket. Equal to default_limit if there + // are no overrides. + int64 effective_limit = 1; + + // The default limit of this quota bucket, as specified by the service + // configuration. + int64 default_limit = 2; + + // Producer override on this quota bucket. + QuotaOverride producer_override = 3; + + // Consumer override on this quota bucket. + QuotaOverride consumer_override = 4; + + // Admin override on this quota bucket. + QuotaOverride admin_override = 5; + + // The dimensions of this quota bucket. + // + // If this map is empty, this is the global bucket, which is the default quota + // value applied to all requests that do not have a more specific override. + // + // If this map is nonempty, the default limit, effective limit, and quota + // overrides apply only to requests that have the dimensions given in the map. + // + // For example, if the map has key `region` and value `us-east-1`, then the + // specified effective limit is only effective in that region, and the + // specified overrides apply only in that region. + map dimensions = 6; +} + +// A quota override +message QuotaOverride { + // The resource name of the override. + // This name is generated by the server when the override is created. + // + // Example names would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + // + // The resource name is intended to be opaque and should not be parsed for + // its component strings, since its representation could change in the future. + string name = 1; + + // The overriding quota limit value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 override_value = 2; + + // If this map is nonempty, then this override applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, an override on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the override is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * Keys that are not defined in the limit's unit are not valid keys. + // Any string appearing in `{brackets}` in the unit (besides `{project}` + // or + // `{user}`) is a defined key. + // * `project` is not a valid key; the project is already specified in + // the parent resource name. + // * `user` is not a valid key; the API does not support quota overrides + // that apply only to a specific user. + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * If any valid key other than `region` or `zone` appears in the map, then + // all valid keys other than `region` or `zone` must also appear in the + // map. + map dimensions = 3; + + // The name of the metric to which this override applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this override applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The resource name of the ancestor that requested the override. For example: + // `organizations/12345` or `folders/67890`. + // Used by admin overrides only. + string admin_override_ancestor = 6; +} + +// Import data embedded in the request message +message OverrideInlineSource { + // The overrides to create. + // Each override must have a value for 'metric' and 'unit', to specify + // which metric and which limit the override should be applied to. + // The 'name' field of the override does not need to be set; it is ignored. + repeated QuotaOverride overrides = 1; +} + +// Enumerations of quota safety checks. +enum QuotaSafetyCheck { + // Unspecified quota safety check. + QUOTA_SAFETY_CHECK_UNSPECIFIED = 0; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to be lower than the consumer's quota usage. + LIMIT_DECREASE_BELOW_USAGE = 1; + + // Validates that a quota mutation would not cause the consumer's effective + // limit to decrease by more than 10 percent. + LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2; +} + +// Quota policy created by quota administrator. +message AdminQuotaPolicy { + // The resource name of the policy. + // This name is generated by the server when the policy is created. + // + // Example names would be: + // `organizations/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminQuotaPolicies/4a3f2c1d` + string name = 1; + + // The quota policy value. + // Can be any nonnegative integer, or -1 (unlimited quota). + int64 policy_value = 2; + + // + // If this map is nonempty, then this policy applies only to specific values + // for dimensions defined in the limit unit. + // + // For example, an policy on a limit with the unit `1/{project}/{region}` + // could contain an entry with the key `region` and the value `us-east-1`; + // the policy is only applied to quota consumed in that region. + // + // This map has the following restrictions: + // + // * If `region` appears as a key, its value must be a valid Cloud region. + // * If `zone` appears as a key, its value must be a valid Cloud zone. + // * Keys other than `region` or `zone` are not valid. + map dimensions = 3; + + // The name of the metric to which this policy applies. + // + // An example name would be: + // `compute.googleapis.com/cpus` + string metric = 4; + + // The limit unit of the limit to which this policy applies. + // + // An example unit would be: + // `1/{project}/{region}` + // Note that `{project}` and `{region}` are not placeholders in this example; + // the literal characters `{` and `}` occur in the string. + string unit = 5; + + // The cloud resource container at which the quota policy is created. The + // format is `{container_type}/{container_number}` + string container = 6; +} + +// Service identity for a service. This is the identity that service producer +// should use to access consumer resources. +message ServiceIdentity { + // The email address of the service account that a service producer would use + // to access consumer resources. + string email = 1; + + // The unique and stable id of the service account. + // https://cloud.google.com/iam/reference/rest/v1/projects.serviceAccounts#ServiceAccount + string unique_id = 2; +} diff --git a/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/serviceusage.proto b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/serviceusage.proto new file mode 100644 index 00000000000..2051224882d --- /dev/null +++ b/packages/google-api-serviceusage/protos/google/api/serviceusage/v1beta1/serviceusage.proto @@ -0,0 +1,786 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.api.serviceusage.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/serviceusage/v1beta1/resources.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; + +option csharp_namespace = "Google.Api.ServiceUsage.V1Beta1"; +option go_package = "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage"; +option java_multiple_files = true; +option java_outer_classname = "ServiceUsageProto"; +option java_package = "com.google.api.serviceusage.v1beta1"; +option php_namespace = "Google\\Api\\ServiceUsage\\V1beta1"; +option ruby_package = "Google::Api::ServiceUsage::V1beta1"; + +// [Service Usage API](https://cloud.google.com/service-usage/docs/overview) +service ServiceUsage { + option (google.api.default_host) = "serviceusage.googleapis.com"; + option (google.api.oauth_scopes) = + "https://www.googleapis.com/auth/cloud-platform," + "https://www.googleapis.com/auth/cloud-platform.read-only," + "https://www.googleapis.com/auth/service.management"; + + // Enables a service so that it can be used with a project. + // + // Operation response type: `google.protobuf.Empty` + rpc EnableService(EnableServiceRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:enable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Disables a service so that it can no longer be used with a project. + // This prevents unintended usage that may cause unexpected billing + // charges or security leaks. + // + // It is not valid to call the disable method on a service that is not + // currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + // the target service is not currently enabled. + // + // Operation response type: `google.protobuf.Empty` + rpc DisableService(DisableServiceRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{name=*/*/services/*}:disable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Returns the service configuration and enabled state for a given service. + rpc GetService(GetServiceRequest) returns (Service) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*}" + }; + } + + // Lists all services available to the specified project, and the current + // state of those services with respect to the project. The list includes + // all public services, all services for which the calling user has the + // `servicemanagement.services.bind` permission, and all services that have + // already been enabled on the project. The list can be filtered to + // only include services in a specific state, for example to only include + // services enabled on the project. + rpc ListServices(ListServicesRequest) returns (ListServicesResponse) { + option deprecated = true; + option (google.api.http) = { + get: "/v1beta1/{parent=*/*}/services" + }; + } + + // Enables multiple services on a project. The operation is atomic: if + // enabling any service fails, then the entire batch fails, and no state + // changes occur. + // + // Operation response type: `google.protobuf.Empty` + rpc BatchEnableServices(BatchEnableServicesRequest) returns (google.longrunning.Operation) { + option deprecated = true; + option (google.api.http) = { + post: "/v1beta1/{parent=*/*}/services:batchEnable" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Retrieves a summary of all quota information visible to the service + // consumer, organized by service metric. Each metric includes information + // about all of its defined limits. Each limit includes the limit + // configuration (quota unit, preciseness, default value), the current + // effective limit value, and all of the overrides applied to the limit. + rpc ListConsumerQuotaMetrics(ListConsumerQuotaMetricsRequest) returns (ListConsumerQuotaMetricsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics" + }; + } + + // Retrieves a summary of quota information for a specific quota metric + rpc GetConsumerQuotaMetric(GetConsumerQuotaMetricRequest) returns (ConsumerQuotaMetric) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}" + }; + } + + // Retrieves a summary of quota information for a specific quota limit. + rpc GetConsumerQuotaLimit(GetConsumerQuotaLimitRequest) returns (ConsumerQuotaLimit) { + option (google.api.http) = { + get: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}" + }; + } + + // Creates an admin override. + // An admin override is applied by an administrator of a parent folder or + // parent organization of the consumer receiving the override. An admin + // override is intended to limit the amount of quota the consumer can use out + // of the total quota pool allocated to all children of the folder or + // organization. + rpc CreateAdminOverride(CreateAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates an admin override. + rpc UpdateAdminOverride(UpdateAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes an admin override. + rpc DeleteAdminOverride(DeleteAdminOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all admin overrides on this limit. + rpc ListAdminOverrides(ListAdminOverridesRequest) returns (ListAdminOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + }; + } + + // Creates or updates multiple admin overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportAdminOverrides(ImportAdminOverridesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportAdminOverridesResponse" + metadata_type: "ImportAdminOverridesMetadata" + }; + } + + // Creates a consumer override. + // A consumer override is applied to the consumer on its own authority to + // limit its own quota usage. Consumer overrides cannot be used to grant more + // quota than would be allowed by admin overrides, producer overrides, or the + // default limit of the service. + rpc CreateConsumerOverride(CreateConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Updates a consumer override. + rpc UpdateConsumerOverride(UpdateConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + body: "override" + }; + option (google.longrunning.operation_info) = { + response_type: "QuotaOverride" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a consumer override. + rpc DeleteConsumerOverride(DeleteConsumerOverrideRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + }; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Lists all consumer overrides on this limit. + rpc ListConsumerOverrides(ListConsumerOverridesRequest) returns (ListConsumerOverridesResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + }; + } + + // Creates or updates multiple consumer overrides atomically, all on the + // same consumer, but on many different metrics or limits. + // The name field in the quota override message should not be set. + rpc ImportConsumerOverrides(ImportConsumerOverridesRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides" + body: "*" + }; + option (google.longrunning.operation_info) = { + response_type: "ImportConsumerOverridesResponse" + metadata_type: "ImportConsumerOverridesMetadata" + }; + } + + // Generates service identity for service. + rpc GenerateServiceIdentity(GenerateServiceIdentityRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity" + }; + option (google.longrunning.operation_info) = { + response_type: "ServiceIdentity" + metadata_type: "google.protobuf.Empty" + }; + } +} + +// Request message for the `EnableService` method. +message EnableServiceRequest { + // Name of the consumer and service to enable the service on. + // + // The `EnableService` and `DisableService` methods currently only support + // projects. + // + // Enabling a service requires that the service is public or is shared with + // the user enabling the service. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `DisableService` method. +message DisableServiceRequest { + // Name of the consumer and service to disable the service on. + // + // The enable and disable methods currently only support projects. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `GetService` method. +message GetServiceRequest { + // Name of the consumer and service to get the `ConsumerState` for. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com` + // where `123` is the project number (not project ID). + string name = 1; +} + +// Request message for the `ListServices` method. +message ListServicesRequest { + // Parent to search for services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + string parent = 1; + + // Requested size of the next page of data. + // Requested page size cannot exceed 200. + // If not set, the default page size is 50. + int32 page_size = 2; + + // Token identifying which result to start with, which is returned by a + // previous list call. + string page_token = 3; + + // Only list services that conform to the given filter. + // The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + string filter = 4; +} + +// Response message for the `ListServices` method. +message ListServicesResponse { + // The available services for the requested project. + repeated Service services = 1; + + // Token that can be passed to `ListServices` to resume a paginated + // query. + string next_page_token = 2; +} + +// Request message for the `BatchEnableServices` method. +message BatchEnableServicesRequest { + // Parent to enable services on. + // + // An example name would be: + // `projects/123` + // where `123` is the project number (not project ID). + // + // The `BatchEnableServices` method currently only supports projects. + string parent = 1; + + // The identifiers of the services to enable on the project. + // + // A valid identifier would be: + // serviceusage.googleapis.com + // + // Enabling services requires that each service is public or is shared with + // the user enabling the service. + // + // Two or more services must be specified. To enable a single service, + // use the `EnableService` method instead. + // + // A single request can enable a maximum of 20 services at a time. If more + // than 20 services are specified, the request will fail, and no state changes + // will occur. + repeated string service_ids = 2; +} + +// Request message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsRequest { + // Parent of the quotas resource. + // + // Some example names would be: + // `projects/123/services/serviceconsumermanagement.googleapis.com` + // `folders/345/services/serviceconsumermanagement.googleapis.com` + // `organizations/456/services/serviceconsumermanagement.googleapis.com` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 4; +} + +// Response message for ListConsumerQuotaMetrics +message ListConsumerQuotaMetricsResponse { + // Quota settings for the consumer, organized by quota metric. + repeated ConsumerQuotaMetric metrics = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Request message for GetConsumerQuotaMetric +message GetConsumerQuotaMetricRequest { + // The resource name of the quota limit. + // + // An example name would be: + // `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for GetConsumerQuotaLimit +message GetConsumerQuotaLimitRequest { + // The resource name of the quota limit. + // + // Use the quota limit resource name returned by previous + // ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + string name = 1; + + // Specifies the level of detail for quota information in the response. + QuotaView view = 2; +} + +// Request message for CreateAdminOverride. +message CreateAdminOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The admin override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateAdminOverride. +message UpdateAdminOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteAdminOverride. +message DeleteAdminOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListAdminOverrides +message ListAdminOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListAdminOverrides. +message ListAdminOverridesResponse { + // Admin overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateAdminOverrides +message BatchCreateAdminOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportAdminOverrides +message ImportAdminOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportAdminOverrides +message ImportAdminOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminOverrides. +message ImportAdminOverridesMetadata { + +} + +// Request message for CreateConsumerOverride. +message CreateConsumerOverrideRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // The override to create. + QuotaOverride override = 2; + + // Whether to force the creation of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Request message for UpdateConsumerOverride. +message UpdateConsumerOverrideRequest { + // The resource name of the override to update. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // The new override. + // Only the override_value is updated; all other fields are ignored. + QuotaOverride override = 2; + + // Whether to force the update of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // Update only the specified fields of the override. + // If unset, all fields will be updated. + google.protobuf.FieldMask update_mask = 4; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 5; +} + +// Request message for DeleteConsumerOverride. +message DeleteConsumerOverrideRequest { + // The resource name of the override to delete. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + string name = 1; + + // Whether to force the deletion of the quota override. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 2; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 3; +} + +// Request message for ListConsumerOverrides +message ListConsumerOverridesRequest { + // The resource name of the parent quota limit, returned by a + // ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + string parent = 1; + + // Requested size of the next page of data. + int32 page_size = 2; + + // Token identifying which result to start with; returned by a previous list + // call. + string page_token = 3; +} + +// Response message for ListConsumerOverrides. +message ListConsumerOverridesResponse { + // Consumer overrides on this limit. + repeated QuotaOverride overrides = 1; + + // Token identifying which result to start with; returned by a previous list + // call. + string next_page_token = 2; +} + +// Response message for BatchCreateConsumerOverrides +message BatchCreateConsumerOverridesResponse { + // The overrides that were created. + repeated QuotaOverride overrides = 1; +} + +// Request message for ImportConsumerOverrides +message ImportConsumerOverridesRequest { + // The resource name of the consumer. + // + // An example name would be: + // `projects/123/services/compute.googleapis.com` + string parent = 1; + + // Source of import data + oneof source { + // The import data is specified in the request message itself + OverrideInlineSource inline_source = 2; + } + + // Whether to force the creation of the quota overrides. + // Setting the force parameter to 'true' ignores all quota safety checks that + // would fail the request. QuotaSafetyCheck lists all such validations. + bool force = 3; + + // The list of quota safety checks to ignore before the override mutation. + // Unlike 'force' field that ignores all the quota safety checks, the + // 'force_only' field ignores only the specified checks; other checks are + // still enforced. The 'force' and 'force_only' fields cannot both be set. + repeated QuotaSafetyCheck force_only = 4; +} + +// Response message for ImportConsumerOverrides +message ImportConsumerOverridesResponse { + // The overrides that were created from the imported data. + repeated QuotaOverride overrides = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportConsumerOverrides. +message ImportConsumerOverridesMetadata { + +} + +// Response message for ImportAdminQuotaPolicies +message ImportAdminQuotaPoliciesResponse { + // The policies that were created from the imported data. + repeated AdminQuotaPolicy policies = 1; +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by ImportAdminQuotaPolicies. +message ImportAdminQuotaPoliciesMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by CreateAdminQuotaPolicy. +message CreateAdminQuotaPolicyMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by UpdateAdminQuotaPolicy. +message UpdateAdminQuotaPolicyMetadata { + +} + +// Metadata message that provides information such as progress, +// partial failures, and similar information on each GetOperation call +// of LRO returned by DeleteAdminQuotaPolicy. +message DeleteAdminQuotaPolicyMetadata { + +} + +// Request message for generating service identity. +message GenerateServiceIdentityRequest { + // Name of the consumer and service to generate an identity for. + // + // The `GenerateServiceIdentity` methods currently only support projects. + // + // An example name would be: + // `projects/123/services/example.googleapis.com` where `123` is the + // project number. + string parent = 1; +} + +// Response message for getting service identity. +message GetServiceIdentityResponse { + // Enum for service identity state. + enum IdentityState { + // Default service identity state. This value is used if the state is + // omitted. + IDENTITY_STATE_UNSPECIFIED = 0; + + // Service identity has been created and can be used. + ACTIVE = 1; + } + + // Service identity that service producer can use to access consumer + // resources. If exists is true, it contains email and unique_id. If exists is + // false, it contains pre-constructed email and empty unique_id. + ServiceIdentity identity = 1; + + // Service identity state. + IdentityState state = 2; +} + +// Metadata for the `GetServiceIdentity` method. +message GetServiceIdentityMetadata { + +} diff --git a/packages/google-api-serviceusage/protos/protos.d.ts b/packages/google-api-serviceusage/protos/protos.d.ts new file mode 100644 index 00000000000..fc4333324a5 --- /dev/null +++ b/packages/google-api-serviceusage/protos/protos.d.ts @@ -0,0 +1,16139 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); +/** Namespace google. */ +export namespace google { + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a Struct. */ + interface IStruct { + + /** Struct fields */ + fields?: ({ [k: string]: google.protobuf.IValue }|null); + } + + /** Represents a Struct. */ + class Struct implements IStruct { + + /** + * Constructs a new Struct. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IStruct); + + /** Struct fields. */ + public fields: { [k: string]: google.protobuf.IValue }; + + /** + * Creates a new Struct instance using the specified properties. + * @param [properties] Properties to set + * @returns Struct instance + */ + public static create(properties?: google.protobuf.IStruct): google.protobuf.Struct; + + /** + * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @param message Struct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @param message Struct message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IStruct, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Struct message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Struct; + + /** + * Decodes a Struct message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Struct; + + /** + * Verifies a Struct message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Struct message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Struct + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Struct; + + /** + * Creates a plain object from a Struct message. Also converts values to other types if specified. + * @param message Struct + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Struct, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Struct to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Struct + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Value. */ + interface IValue { + + /** Value nullValue */ + nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null); + + /** Value numberValue */ + numberValue?: (number|null); + + /** Value stringValue */ + stringValue?: (string|null); + + /** Value boolValue */ + boolValue?: (boolean|null); + + /** Value structValue */ + structValue?: (google.protobuf.IStruct|null); + + /** Value listValue */ + listValue?: (google.protobuf.IListValue|null); + } + + /** Represents a Value. */ + class Value implements IValue { + + /** + * Constructs a new Value. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IValue); + + /** Value nullValue. */ + public nullValue?: (google.protobuf.NullValue|keyof typeof google.protobuf.NullValue|null); + + /** Value numberValue. */ + public numberValue?: (number|null); + + /** Value stringValue. */ + public stringValue?: (string|null); + + /** Value boolValue. */ + public boolValue?: (boolean|null); + + /** Value structValue. */ + public structValue?: (google.protobuf.IStruct|null); + + /** Value listValue. */ + public listValue?: (google.protobuf.IListValue|null); + + /** Value kind. */ + public kind?: ("nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue"); + + /** + * Creates a new Value instance using the specified properties. + * @param [properties] Properties to set + * @returns Value instance + */ + public static create(properties?: google.protobuf.IValue): google.protobuf.Value; + + /** + * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @param message Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @param message Value message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Value message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Value; + + /** + * Decodes a Value message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Value; + + /** + * Verifies a Value message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Value message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Value + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Value; + + /** + * Creates a plain object from a Value message. Also converts values to other types if specified. + * @param message Value + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Value, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Value to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Value + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** NullValue enum. */ + enum NullValue { + NULL_VALUE = 0 + } + + /** Properties of a ListValue. */ + interface IListValue { + + /** ListValue values */ + values?: (google.protobuf.IValue[]|null); + } + + /** Represents a ListValue. */ + class ListValue implements IListValue { + + /** + * Constructs a new ListValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IListValue); + + /** ListValue values. */ + public values: google.protobuf.IValue[]; + + /** + * Creates a new ListValue instance using the specified properties. + * @param [properties] Properties to set + * @returns ListValue instance + */ + public static create(properties?: google.protobuf.IListValue): google.protobuf.ListValue; + + /** + * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @param message ListValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @param message ListValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IListValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ListValue; + + /** + * Decodes a ListValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ListValue; + + /** + * Verifies a ListValue message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ListValue; + + /** + * Creates a plain object from a ListValue message. Also converts values to other types if specified. + * @param message ListValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ListValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Api. */ + interface IApi { + + /** Api name */ + name?: (string|null); + + /** Api methods */ + methods?: (google.protobuf.IMethod[]|null); + + /** Api options */ + options?: (google.protobuf.IOption[]|null); + + /** Api version */ + version?: (string|null); + + /** Api sourceContext */ + sourceContext?: (google.protobuf.ISourceContext|null); + + /** Api mixins */ + mixins?: (google.protobuf.IMixin[]|null); + + /** Api syntax */ + syntax?: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax|null); + } + + /** Represents an Api. */ + class Api implements IApi { + + /** + * Constructs a new Api. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IApi); + + /** Api name. */ + public name: string; + + /** Api methods. */ + public methods: google.protobuf.IMethod[]; + + /** Api options. */ + public options: google.protobuf.IOption[]; + + /** Api version. */ + public version: string; + + /** Api sourceContext. */ + public sourceContext?: (google.protobuf.ISourceContext|null); + + /** Api mixins. */ + public mixins: google.protobuf.IMixin[]; + + /** Api syntax. */ + public syntax: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax); + + /** + * Creates a new Api instance using the specified properties. + * @param [properties] Properties to set + * @returns Api instance + */ + public static create(properties?: google.protobuf.IApi): google.protobuf.Api; + + /** + * Encodes the specified Api message. Does not implicitly {@link google.protobuf.Api.verify|verify} messages. + * @param message Api message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IApi, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Api message, length delimited. Does not implicitly {@link google.protobuf.Api.verify|verify} messages. + * @param message Api message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IApi, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Api message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Api + * @throws {Error} If the payload is not 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.Api; + + /** + * Decodes an Api message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Api + * @throws {Error} If the payload 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.Api; + + /** + * Verifies an Api message. + * @param message Plain 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 Api message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Api + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Api; + + /** + * Creates a plain object from an Api message. Also converts values to other types if specified. + * @param message Api + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Api, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Api to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Api + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Method. */ + interface IMethod { + + /** Method name */ + name?: (string|null); + + /** Method requestTypeUrl */ + requestTypeUrl?: (string|null); + + /** Method requestStreaming */ + requestStreaming?: (boolean|null); + + /** Method responseTypeUrl */ + responseTypeUrl?: (string|null); + + /** Method responseStreaming */ + responseStreaming?: (boolean|null); + + /** Method options */ + options?: (google.protobuf.IOption[]|null); + + /** Method syntax */ + syntax?: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax|null); + } + + /** Represents a Method. */ + class Method implements IMethod { + + /** + * Constructs a new Method. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethod); + + /** Method name. */ + public name: string; + + /** Method requestTypeUrl. */ + public requestTypeUrl: string; + + /** Method requestStreaming. */ + public requestStreaming: boolean; + + /** Method responseTypeUrl. */ + public responseTypeUrl: string; + + /** Method responseStreaming. */ + public responseStreaming: boolean; + + /** Method options. */ + public options: google.protobuf.IOption[]; + + /** Method syntax. */ + public syntax: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax); + + /** + * Creates a new Method instance using the specified properties. + * @param [properties] Properties to set + * @returns Method instance + */ + public static create(properties?: google.protobuf.IMethod): google.protobuf.Method; + + /** + * Encodes the specified Method message. Does not implicitly {@link google.protobuf.Method.verify|verify} messages. + * @param message Method message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethod, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Method message, length delimited. Does not implicitly {@link google.protobuf.Method.verify|verify} messages. + * @param message Method message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethod, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Method message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Method + * @throws {Error} If the payload is not 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.Method; + + /** + * Decodes a Method message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Method + * @throws {Error} If the payload 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.Method; + + /** + * Verifies a Method message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Method message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Method + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Method; + + /** + * Creates a plain object from a Method message. Also converts values to other types if specified. + * @param message Method + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Method, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Method to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Method + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Mixin. */ + interface IMixin { + + /** Mixin name */ + name?: (string|null); + + /** Mixin root */ + root?: (string|null); + } + + /** Represents a Mixin. */ + class Mixin implements IMixin { + + /** + * Constructs a new Mixin. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMixin); + + /** Mixin name. */ + public name: string; + + /** Mixin root. */ + public root: string; + + /** + * Creates a new Mixin instance using the specified properties. + * @param [properties] Properties to set + * @returns Mixin instance + */ + public static create(properties?: google.protobuf.IMixin): google.protobuf.Mixin; + + /** + * Encodes the specified Mixin message. Does not implicitly {@link google.protobuf.Mixin.verify|verify} messages. + * @param message Mixin message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMixin, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Mixin message, length delimited. Does not implicitly {@link google.protobuf.Mixin.verify|verify} messages. + * @param message Mixin message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMixin, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Mixin message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Mixin + * @throws {Error} If the payload is not 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.Mixin; + + /** + * Decodes a Mixin message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Mixin + * @throws {Error} If the payload 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.Mixin; + + /** + * Verifies a Mixin message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Mixin message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Mixin + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Mixin; + + /** + * Creates a plain object from a Mixin message. Also converts values to other types if specified. + * @param message Mixin + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Mixin, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Mixin to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Mixin + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SourceContext. */ + interface ISourceContext { + + /** SourceContext fileName */ + fileName?: (string|null); + } + + /** Represents a SourceContext. */ + class SourceContext implements ISourceContext { + + /** + * Constructs a new SourceContext. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceContext); + + /** SourceContext fileName. */ + public fileName: string; + + /** + * Creates a new SourceContext instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceContext instance + */ + public static create(properties?: google.protobuf.ISourceContext): google.protobuf.SourceContext; + + /** + * Encodes the specified SourceContext message. Does not implicitly {@link google.protobuf.SourceContext.verify|verify} messages. + * @param message SourceContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SourceContext message, length delimited. Does not implicitly {@link google.protobuf.SourceContext.verify|verify} messages. + * @param message SourceContext message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceContext, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SourceContext message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceContext + * @throws {Error} If the payload is not 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.SourceContext; + + /** + * Decodes a SourceContext message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceContext + * @throws {Error} If the payload 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.SourceContext; + + /** + * Verifies a SourceContext message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SourceContext message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceContext + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceContext; + + /** + * Creates a plain object from a SourceContext message. Also converts values to other types if specified. + * @param message SourceContext + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceContext, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SourceContext to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SourceContext + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Type. */ + interface IType { + + /** Type name */ + name?: (string|null); + + /** Type fields */ + fields?: (google.protobuf.IField[]|null); + + /** Type oneofs */ + oneofs?: (string[]|null); + + /** Type options */ + options?: (google.protobuf.IOption[]|null); + + /** Type sourceContext */ + sourceContext?: (google.protobuf.ISourceContext|null); + + /** Type syntax */ + syntax?: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax|null); + } + + /** Represents a Type. */ + class Type implements IType { + + /** + * Constructs a new Type. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IType); + + /** Type name. */ + public name: string; + + /** Type fields. */ + public fields: google.protobuf.IField[]; + + /** Type oneofs. */ + public oneofs: string[]; + + /** Type options. */ + public options: google.protobuf.IOption[]; + + /** Type sourceContext. */ + public sourceContext?: (google.protobuf.ISourceContext|null); + + /** Type syntax. */ + public syntax: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax); + + /** + * Creates a new Type instance using the specified properties. + * @param [properties] Properties to set + * @returns Type instance + */ + public static create(properties?: google.protobuf.IType): google.protobuf.Type; + + /** + * Encodes the specified Type message. Does not implicitly {@link google.protobuf.Type.verify|verify} messages. + * @param message Type message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IType, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Type message, length delimited. Does not implicitly {@link google.protobuf.Type.verify|verify} messages. + * @param message Type message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IType, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Type message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Type + * @throws {Error} If the payload is not 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.Type; + + /** + * Decodes a Type message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Type + * @throws {Error} If the payload 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.Type; + + /** + * Verifies a Type message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Type message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Type + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Type; + + /** + * Creates a plain object from a Type message. Also converts values to other types if specified. + * @param message Type + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Type, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Type to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Type + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Field. */ + interface IField { + + /** Field kind */ + kind?: (google.protobuf.Field.Kind|keyof typeof google.protobuf.Field.Kind|null); + + /** Field cardinality */ + cardinality?: (google.protobuf.Field.Cardinality|keyof typeof google.protobuf.Field.Cardinality|null); + + /** Field number */ + number?: (number|null); + + /** Field name */ + name?: (string|null); + + /** Field typeUrl */ + typeUrl?: (string|null); + + /** Field oneofIndex */ + oneofIndex?: (number|null); + + /** Field packed */ + packed?: (boolean|null); + + /** Field options */ + options?: (google.protobuf.IOption[]|null); + + /** Field jsonName */ + jsonName?: (string|null); + + /** Field defaultValue */ + defaultValue?: (string|null); + } + + /** Represents a Field. */ + class Field implements IField { + + /** + * Constructs a new Field. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IField); + + /** Field kind. */ + public kind: (google.protobuf.Field.Kind|keyof typeof google.protobuf.Field.Kind); + + /** Field cardinality. */ + public cardinality: (google.protobuf.Field.Cardinality|keyof typeof google.protobuf.Field.Cardinality); + + /** Field number. */ + public number: number; + + /** Field name. */ + public name: string; + + /** Field typeUrl. */ + public typeUrl: string; + + /** Field oneofIndex. */ + public oneofIndex: number; + + /** Field packed. */ + public packed: boolean; + + /** Field options. */ + public options: google.protobuf.IOption[]; + + /** Field jsonName. */ + public jsonName: string; + + /** Field defaultValue. */ + public defaultValue: string; + + /** + * Creates a new Field instance using the specified properties. + * @param [properties] Properties to set + * @returns Field instance + */ + public static create(properties?: google.protobuf.IField): google.protobuf.Field; + + /** + * Encodes the specified Field message. Does not implicitly {@link google.protobuf.Field.verify|verify} messages. + * @param message Field message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IField, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Field message, length delimited. Does not implicitly {@link google.protobuf.Field.verify|verify} messages. + * @param message Field message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IField, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Field message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Field + * @throws {Error} If the payload is not 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.Field; + + /** + * Decodes a Field message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Field + * @throws {Error} If the payload 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.Field; + + /** + * Verifies a Field message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Field message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Field + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Field; + + /** + * Creates a plain object from a Field message. Also converts values to other types if specified. + * @param message Field + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Field, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Field to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Field + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Field { + + /** Kind enum. */ + enum Kind { + TYPE_UNKNOWN = 0, + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Cardinality enum. */ + enum Cardinality { + CARDINALITY_UNKNOWN = 0, + CARDINALITY_OPTIONAL = 1, + CARDINALITY_REQUIRED = 2, + CARDINALITY_REPEATED = 3 + } + } + + /** Properties of an Enum. */ + interface IEnum { + + /** Enum name */ + name?: (string|null); + + /** Enum enumvalue */ + enumvalue?: (google.protobuf.IEnumValue[]|null); + + /** Enum options */ + options?: (google.protobuf.IOption[]|null); + + /** Enum sourceContext */ + sourceContext?: (google.protobuf.ISourceContext|null); + + /** Enum syntax */ + syntax?: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax|null); + } + + /** Represents an Enum. */ + class Enum implements IEnum { + + /** + * Constructs a new Enum. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnum); + + /** Enum name. */ + public name: string; + + /** Enum enumvalue. */ + public enumvalue: google.protobuf.IEnumValue[]; + + /** Enum options. */ + public options: google.protobuf.IOption[]; + + /** Enum sourceContext. */ + public sourceContext?: (google.protobuf.ISourceContext|null); + + /** Enum syntax. */ + public syntax: (google.protobuf.Syntax|keyof typeof google.protobuf.Syntax); + + /** + * Creates a new Enum instance using the specified properties. + * @param [properties] Properties to set + * @returns Enum instance + */ + public static create(properties?: google.protobuf.IEnum): google.protobuf.Enum; + + /** + * Encodes the specified Enum message. Does not implicitly {@link google.protobuf.Enum.verify|verify} messages. + * @param message Enum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Enum message, length delimited. Does not implicitly {@link google.protobuf.Enum.verify|verify} messages. + * @param message Enum message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnum, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Enum message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Enum + * @throws {Error} If the payload is not 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.Enum; + + /** + * Decodes an Enum message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Enum + * @throws {Error} If the payload 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.Enum; + + /** + * Verifies an Enum message. + * @param message Plain 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 Enum message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Enum + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Enum; + + /** + * Creates a plain object from an Enum message. Also converts values to other types if specified. + * @param message Enum + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Enum, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Enum to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Enum + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumValue. */ + interface IEnumValue { + + /** EnumValue name */ + name?: (string|null); + + /** EnumValue number */ + number?: (number|null); + + /** EnumValue options */ + options?: (google.protobuf.IOption[]|null); + } + + /** Represents an EnumValue. */ + class EnumValue implements IEnumValue { + + /** + * Constructs a new EnumValue. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValue); + + /** EnumValue name. */ + public name: string; + + /** EnumValue number. */ + public number: number; + + /** EnumValue options. */ + public options: google.protobuf.IOption[]; + + /** + * Creates a new EnumValue instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValue instance + */ + public static create(properties?: google.protobuf.IEnumValue): google.protobuf.EnumValue; + + /** + * Encodes the specified EnumValue message. Does not implicitly {@link google.protobuf.EnumValue.verify|verify} messages. + * @param message EnumValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValue message, length delimited. Does not implicitly {@link google.protobuf.EnumValue.verify|verify} messages. + * @param message EnumValue message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValue, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValue message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValue + * @throws {Error} If the payload is not 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.EnumValue; + + /** + * Decodes an EnumValue message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValue + * @throws {Error} If the payload 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.EnumValue; + + /** + * Verifies an EnumValue message. + * @param message Plain 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 EnumValue message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValue + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValue; + + /** + * Creates a plain object from an EnumValue message. Also converts values to other types if specified. + * @param message EnumValue + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValue, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValue to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValue + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Option. */ + interface IOption { + + /** Option name */ + name?: (string|null); + + /** Option value */ + value?: (google.protobuf.IAny|null); + } + + /** Represents an Option. */ + class Option implements IOption { + + /** + * Constructs a new Option. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOption); + + /** Option name. */ + public name: string; + + /** Option value. */ + public value?: (google.protobuf.IAny|null); + + /** + * Creates a new Option instance using the specified properties. + * @param [properties] Properties to set + * @returns Option instance + */ + public static create(properties?: google.protobuf.IOption): google.protobuf.Option; + + /** + * Encodes the specified Option message. Does not implicitly {@link google.protobuf.Option.verify|verify} messages. + * @param message Option message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Option message, length delimited. Does not implicitly {@link google.protobuf.Option.verify|verify} messages. + * @param message Option message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Option message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Option + * @throws {Error} If the payload is not 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.Option; + + /** + * Decodes an Option message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Option + * @throws {Error} If the payload 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.Option; + + /** + * Verifies an Option message. + * @param message Plain 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 Option message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Option + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Option; + + /** + * Creates a plain object from an Option message. Also converts values to other types if specified. + * @param message Option + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Option, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Option to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Option + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Syntax enum. */ + enum Syntax { + SYNTAX_PROTO2 = 0, + SYNTAX_PROTO3 = 1 + } + + /** Properties of an Any. */ + interface IAny { + + /** Any type_url */ + type_url?: (string|null); + + /** Any value */ + value?: (Uint8Array|string|null); + } + + /** Represents an Any. */ + class Any implements IAny { + + /** + * Constructs a new Any. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IAny); + + /** Any type_url. */ + public type_url: string; + + /** Any value. */ + public value: (Uint8Array|string); + + /** + * Creates a new Any instance using the specified properties. + * @param [properties] Properties to set + * @returns Any instance + */ + public static create(properties?: google.protobuf.IAny): google.protobuf.Any; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Any message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any; + + /** + * Verifies an Any message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Any message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Any + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Any; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @param message Any + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Any to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Any + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileDescriptorSet. */ + interface IFileDescriptorSet { + + /** FileDescriptorSet file */ + file?: (google.protobuf.IFileDescriptorProto[]|null); + } + + /** Represents a FileDescriptorSet. */ + class FileDescriptorSet implements IFileDescriptorSet { + + /** + * Constructs a new FileDescriptorSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorSet); + + /** FileDescriptorSet file. */ + public file: google.protobuf.IFileDescriptorProto[]; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorSet instance + */ + public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + + /** + * Verifies a FileDescriptorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @param message FileDescriptorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileDescriptorProto. */ + interface IFileDescriptorProto { + + /** FileDescriptorProto name */ + name?: (string|null); + + /** FileDescriptorProto package */ + "package"?: (string|null); + + /** FileDescriptorProto dependency */ + dependency?: (string[]|null); + + /** FileDescriptorProto publicDependency */ + publicDependency?: (number[]|null); + + /** FileDescriptorProto weakDependency */ + weakDependency?: (number[]|null); + + /** FileDescriptorProto messageType */ + messageType?: (google.protobuf.IDescriptorProto[]|null); + + /** FileDescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** FileDescriptorProto service */ + service?: (google.protobuf.IServiceDescriptorProto[]|null); + + /** FileDescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** FileDescriptorProto options */ + options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo */ + sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax */ + syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (string|null); + } + + /** Represents a FileDescriptorProto. */ + class FileDescriptorProto implements IFileDescriptorProto { + + /** + * Constructs a new FileDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorProto); + + /** FileDescriptorProto name. */ + public name: string; + + /** FileDescriptorProto package. */ + public package: string; + + /** FileDescriptorProto dependency. */ + public dependency: string[]; + + /** FileDescriptorProto publicDependency. */ + public publicDependency: number[]; + + /** FileDescriptorProto weakDependency. */ + public weakDependency: number[]; + + /** FileDescriptorProto messageType. */ + public messageType: google.protobuf.IDescriptorProto[]; + + /** FileDescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** FileDescriptorProto service. */ + public service: google.protobuf.IServiceDescriptorProto[]; + + /** FileDescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** FileDescriptorProto options. */ + public options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo. */ + public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax. */ + public syntax: string; + + /** FileDescriptorProto edition. */ + public edition: string; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + + /** + * Verifies a FileDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @param message FileDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DescriptorProto. */ + interface IDescriptorProto { + + /** DescriptorProto name */ + name?: (string|null); + + /** DescriptorProto field */ + field?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto nestedType */ + nestedType?: (google.protobuf.IDescriptorProto[]|null); + + /** DescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** DescriptorProto extensionRange */ + extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); + + /** DescriptorProto oneofDecl */ + oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + + /** DescriptorProto options */ + options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange */ + reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + + /** DescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents a DescriptorProto. */ + class DescriptorProto implements IDescriptorProto { + + /** + * Constructs a new DescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDescriptorProto); + + /** DescriptorProto name. */ + public name: string; + + /** DescriptorProto field. */ + public field: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto nestedType. */ + public nestedType: google.protobuf.IDescriptorProto[]; + + /** DescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** DescriptorProto extensionRange. */ + public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + + /** DescriptorProto oneofDecl. */ + public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + + /** DescriptorProto options. */ + public options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange. */ + public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + + /** DescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns DescriptorProto instance + */ + public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + + /** + * Verifies a DescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @param message DescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DescriptorProto { + + /** Properties of an ExtensionRange. */ + interface IExtensionRange { + + /** ExtensionRange start */ + start?: (number|null); + + /** ExtensionRange end */ + end?: (number|null); + + /** ExtensionRange options */ + options?: (google.protobuf.IExtensionRangeOptions|null); + } + + /** Represents an ExtensionRange. */ + class ExtensionRange implements IExtensionRange { + + /** + * Constructs a new ExtensionRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); + + /** ExtensionRange start. */ + public start: number; + + /** ExtensionRange end. */ + public end: number; + + /** ExtensionRange options. */ + public options?: (google.protobuf.IExtensionRangeOptions|null); + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Verifies an ExtensionRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @param message ExtensionRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ReservedRange. */ + interface IReservedRange { + + /** ReservedRange start */ + start?: (number|null); + + /** ReservedRange end */ + end?: (number|null); + } + + /** Represents a ReservedRange. */ + class ReservedRange implements IReservedRange { + + /** + * Constructs a new ReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); + + /** ReservedRange start. */ + public start: number; + + /** ReservedRange end. */ + public end: number; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ReservedRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Verifies a ReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @param message ReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an ExtensionRangeOptions. */ + class ExtensionRangeOptions implements IExtensionRangeOptions { + + /** + * Constructs a new ExtensionRangeOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IExtensionRangeOptions); + + /** ExtensionRangeOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRangeOptions instance + */ + public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + + /** + * Verifies an ExtensionRangeOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRangeOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @param message ExtensionRangeOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); + + /** FieldDescriptorProto typeName */ + typeName?: (string|null); + + /** FieldDescriptorProto extendee */ + extendee?: (string|null); + + /** FieldDescriptorProto defaultValue */ + defaultValue?: (string|null); + + /** FieldDescriptorProto oneofIndex */ + oneofIndex?: (number|null); + + /** FieldDescriptorProto jsonName */ + jsonName?: (string|null); + + /** FieldDescriptorProto options */ + options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); + } + + /** Represents a FieldDescriptorProto. */ + class FieldDescriptorProto implements IFieldDescriptorProto { + + /** + * Constructs a new FieldDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldDescriptorProto); + + /** FieldDescriptorProto name. */ + public name: string; + + /** FieldDescriptorProto number. */ + public number: number; + + /** FieldDescriptorProto label. */ + public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); + + /** FieldDescriptorProto type. */ + public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); + + /** FieldDescriptorProto typeName. */ + public typeName: string; + + /** FieldDescriptorProto extendee. */ + public extendee: string; + + /** FieldDescriptorProto defaultValue. */ + public defaultValue: string; + + /** FieldDescriptorProto oneofIndex. */ + public oneofIndex: number; + + /** FieldDescriptorProto jsonName. */ + public jsonName: string; + + /** FieldDescriptorProto options. */ + public options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional. */ + public proto3Optional: boolean; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + + /** + * Verifies a FieldDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @param message FieldDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldDescriptorProto { + + /** Type enum. */ + enum Type { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Label enum. */ + enum Label { + LABEL_OPTIONAL = 1, + LABEL_REQUIRED = 2, + LABEL_REPEATED = 3 + } + } + + /** Properties of an OneofDescriptorProto. */ + interface IOneofDescriptorProto { + + /** OneofDescriptorProto name */ + name?: (string|null); + + /** OneofDescriptorProto options */ + options?: (google.protobuf.IOneofOptions|null); + } + + /** Represents an OneofDescriptorProto. */ + class OneofDescriptorProto implements IOneofDescriptorProto { + + /** + * Constructs a new OneofDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofDescriptorProto); + + /** OneofDescriptorProto name. */ + public name: string; + + /** OneofDescriptorProto options. */ + public options?: (google.protobuf.IOneofOptions|null); + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofDescriptorProto instance + */ + public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + + /** + * Verifies an OneofDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @param message OneofDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumDescriptorProto. */ + interface IEnumDescriptorProto { + + /** EnumDescriptorProto name */ + name?: (string|null); + + /** EnumDescriptorProto value */ + value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + + /** EnumDescriptorProto options */ + options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange */ + reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + + /** EnumDescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents an EnumDescriptorProto. */ + class EnumDescriptorProto implements IEnumDescriptorProto { + + /** + * Constructs a new EnumDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumDescriptorProto); + + /** EnumDescriptorProto name. */ + public name: string; + + /** EnumDescriptorProto value. */ + public value: google.protobuf.IEnumValueDescriptorProto[]; + + /** EnumDescriptorProto options. */ + public options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange. */ + public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + + /** EnumDescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + + /** + * Verifies an EnumDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @param message EnumDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace EnumDescriptorProto { + + /** Properties of an EnumReservedRange. */ + interface IEnumReservedRange { + + /** EnumReservedRange start */ + start?: (number|null); + + /** EnumReservedRange end */ + end?: (number|null); + } + + /** Represents an EnumReservedRange. */ + class EnumReservedRange implements IEnumReservedRange { + + /** + * Constructs a new EnumReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + + /** EnumReservedRange start. */ + public start: number; + + /** EnumReservedRange end. */ + public end: number; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumReservedRange instance + */ + public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Verifies an EnumReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @param message EnumReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an EnumValueDescriptorProto. */ + interface IEnumValueDescriptorProto { + + /** EnumValueDescriptorProto name */ + name?: (string|null); + + /** EnumValueDescriptorProto number */ + number?: (number|null); + + /** EnumValueDescriptorProto options */ + options?: (google.protobuf.IEnumValueOptions|null); + } + + /** Represents an EnumValueDescriptorProto. */ + class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + + /** + * Constructs a new EnumValueDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueDescriptorProto); + + /** EnumValueDescriptorProto name. */ + public name: string; + + /** EnumValueDescriptorProto number. */ + public number: number; + + /** EnumValueDescriptorProto options. */ + public options?: (google.protobuf.IEnumValueOptions|null); + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + + /** + * Verifies an EnumValueDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @param message EnumValueDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceDescriptorProto. */ + interface IServiceDescriptorProto { + + /** ServiceDescriptorProto name */ + name?: (string|null); + + /** ServiceDescriptorProto method */ + method?: (google.protobuf.IMethodDescriptorProto[]|null); + + /** ServiceDescriptorProto options */ + options?: (google.protobuf.IServiceOptions|null); + } + + /** Represents a ServiceDescriptorProto. */ + class ServiceDescriptorProto implements IServiceDescriptorProto { + + /** + * Constructs a new ServiceDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceDescriptorProto); + + /** ServiceDescriptorProto name. */ + public name: string; + + /** ServiceDescriptorProto method. */ + public method: google.protobuf.IMethodDescriptorProto[]; + + /** ServiceDescriptorProto options. */ + public options?: (google.protobuf.IServiceOptions|null); + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceDescriptorProto instance + */ + public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + + /** + * Verifies a ServiceDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @param message ServiceDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodDescriptorProto. */ + interface IMethodDescriptorProto { + + /** MethodDescriptorProto name */ + name?: (string|null); + + /** MethodDescriptorProto inputType */ + inputType?: (string|null); + + /** MethodDescriptorProto outputType */ + outputType?: (string|null); + + /** MethodDescriptorProto options */ + options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming */ + clientStreaming?: (boolean|null); + + /** MethodDescriptorProto serverStreaming */ + serverStreaming?: (boolean|null); + } + + /** Represents a MethodDescriptorProto. */ + class MethodDescriptorProto implements IMethodDescriptorProto { + + /** + * Constructs a new MethodDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodDescriptorProto); + + /** MethodDescriptorProto name. */ + public name: string; + + /** MethodDescriptorProto inputType. */ + public inputType: string; + + /** MethodDescriptorProto outputType. */ + public outputType: string; + + /** MethodDescriptorProto options. */ + public options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming. */ + public clientStreaming: boolean; + + /** MethodDescriptorProto serverStreaming. */ + public serverStreaming: boolean; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodDescriptorProto instance + */ + public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + + /** + * Verifies a MethodDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @param message MethodDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileOptions. */ + interface IFileOptions { + + /** FileOptions javaPackage */ + javaPackage?: (string|null); + + /** FileOptions javaOuterClassname */ + javaOuterClassname?: (string|null); + + /** FileOptions javaMultipleFiles */ + javaMultipleFiles?: (boolean|null); + + /** FileOptions javaGenerateEqualsAndHash */ + javaGenerateEqualsAndHash?: (boolean|null); + + /** FileOptions javaStringCheckUtf8 */ + javaStringCheckUtf8?: (boolean|null); + + /** FileOptions optimizeFor */ + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions phpGenericServices */ + phpGenericServices?: (boolean|null); + + /** FileOptions deprecated */ + deprecated?: (boolean|null); + + /** FileOptions ccEnableArenas */ + ccEnableArenas?: (boolean|null); + + /** FileOptions objcClassPrefix */ + objcClassPrefix?: (string|null); + + /** FileOptions csharpNamespace */ + csharpNamespace?: (string|null); + + /** FileOptions swiftPrefix */ + swiftPrefix?: (string|null); + + /** FileOptions phpClassPrefix */ + phpClassPrefix?: (string|null); + + /** FileOptions phpNamespace */ + phpNamespace?: (string|null); + + /** FileOptions phpMetadataNamespace */ + phpMetadataNamespace?: (string|null); + + /** FileOptions rubyPackage */ + rubyPackage?: (string|null); + + /** FileOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents a FileOptions. */ + class FileOptions implements IFileOptions { + + /** + * Constructs a new FileOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileOptions); + + /** FileOptions javaPackage. */ + public javaPackage: string; + + /** FileOptions javaOuterClassname. */ + public javaOuterClassname: string; + + /** FileOptions javaMultipleFiles. */ + public javaMultipleFiles: boolean; + + /** FileOptions javaGenerateEqualsAndHash. */ + public javaGenerateEqualsAndHash: boolean; + + /** FileOptions javaStringCheckUtf8. */ + public javaStringCheckUtf8: boolean; + + /** FileOptions optimizeFor. */ + public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions phpGenericServices. */ + public phpGenericServices: boolean; + + /** FileOptions deprecated. */ + public deprecated: boolean; + + /** FileOptions ccEnableArenas. */ + public ccEnableArenas: boolean; + + /** FileOptions objcClassPrefix. */ + public objcClassPrefix: string; + + /** FileOptions csharpNamespace. */ + public csharpNamespace: string; + + /** FileOptions swiftPrefix. */ + public swiftPrefix: string; + + /** FileOptions phpClassPrefix. */ + public phpClassPrefix: string; + + /** FileOptions phpNamespace. */ + public phpNamespace: string; + + /** FileOptions phpMetadataNamespace. */ + public phpMetadataNamespace: string; + + /** FileOptions rubyPackage. */ + public rubyPackage: string; + + /** FileOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FileOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FileOptions instance + */ + public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; + + /** + * Verifies a FileOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @param message FileOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FileOptions { + + /** OptimizeMode enum. */ + enum OptimizeMode { + SPEED = 1, + CODE_SIZE = 2, + LITE_RUNTIME = 3 + } + } + + /** Properties of a MessageOptions. */ + interface IMessageOptions { + + /** MessageOptions messageSetWireFormat */ + messageSetWireFormat?: (boolean|null); + + /** MessageOptions noStandardDescriptorAccessor */ + noStandardDescriptorAccessor?: (boolean|null); + + /** MessageOptions deprecated */ + deprecated?: (boolean|null); + + /** MessageOptions mapEntry */ + mapEntry?: (boolean|null); + + /** MessageOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents a MessageOptions. */ + class MessageOptions implements IMessageOptions { + + /** + * Constructs a new MessageOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMessageOptions); + + /** MessageOptions messageSetWireFormat. */ + public messageSetWireFormat: boolean; + + /** MessageOptions noStandardDescriptorAccessor. */ + public noStandardDescriptorAccessor: boolean; + + /** MessageOptions deprecated. */ + public deprecated: boolean; + + /** MessageOptions mapEntry. */ + public mapEntry: boolean; + + /** MessageOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageOptions instance + */ + public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; + + /** + * Verifies a MessageOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @param message MessageOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MessageOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldOptions. */ + interface IFieldOptions { + + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); + + /** FieldOptions packed */ + packed?: (boolean|null); + + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); + + /** FieldOptions lazy */ + lazy?: (boolean|null); + + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + + /** FieldOptions deprecated */ + deprecated?: (boolean|null); + + /** FieldOptions weak */ + weak?: (boolean|null); + + /** FieldOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents a FieldOptions. */ + class FieldOptions implements IFieldOptions { + + /** + * Constructs a new FieldOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldOptions); + + /** FieldOptions ctype. */ + public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType); + + /** FieldOptions packed. */ + public packed: boolean; + + /** FieldOptions jstype. */ + public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); + + /** FieldOptions lazy. */ + public lazy: boolean; + + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + + /** FieldOptions deprecated. */ + public deprecated: boolean; + + /** FieldOptions weak. */ + public weak: boolean; + + /** FieldOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldOptions instance + */ + public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; + + /** + * Verifies a FieldOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @param message FieldOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldOptions { + + /** CType enum. */ + enum CType { + STRING = 0, + CORD = 1, + STRING_PIECE = 2 + } + + /** JSType enum. */ + enum JSType { + JS_NORMAL = 0, + JS_STRING = 1, + JS_NUMBER = 2 + } + } + + /** Properties of an OneofOptions. */ + interface IOneofOptions { + + /** OneofOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an OneofOptions. */ + class OneofOptions implements IOneofOptions { + + /** + * Constructs a new OneofOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofOptions); + + /** OneofOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofOptions instance + */ + public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; + + /** + * Verifies an OneofOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @param message OneofOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumOptions. */ + interface IEnumOptions { + + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); + + /** EnumOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumOptions. */ + class EnumOptions implements IEnumOptions { + + /** + * Constructs a new EnumOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumOptions); + + /** EnumOptions allowAlias. */ + public allowAlias: boolean; + + /** EnumOptions deprecated. */ + public deprecated: boolean; + + /** EnumOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumOptions instance + */ + public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; + + /** + * Verifies an EnumOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @param message EnumOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { + + /** EnumValueOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumValueOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumValueOptions. */ + class EnumValueOptions implements IEnumValueOptions { + + /** + * Constructs a new EnumValueOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueOptions); + + /** EnumValueOptions deprecated. */ + public deprecated: boolean; + + /** EnumValueOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueOptions instance + */ + public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; + + /** + * Verifies an EnumValueOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @param message EnumValueOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceOptions. */ + interface IServiceOptions { + + /** ServiceOptions deprecated */ + deprecated?: (boolean|null); + + /** ServiceOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ServiceOptions .google.api.defaultHost */ + ".google.api.defaultHost"?: (string|null); + + /** ServiceOptions .google.api.oauthScopes */ + ".google.api.oauthScopes"?: (string|null); + } + + /** Represents a ServiceOptions. */ + class ServiceOptions implements IServiceOptions { + + /** + * Constructs a new ServiceOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceOptions); + + /** ServiceOptions deprecated. */ + public deprecated: boolean; + + /** ServiceOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceOptions instance + */ + public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; + + /** + * Verifies a ServiceOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @param message ServiceOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodOptions. */ + interface IMethodOptions { + + /** MethodOptions deprecated */ + deprecated?: (boolean|null); + + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); + + /** MethodOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MethodOptions .google.api.http */ + ".google.api.http"?: (google.api.IHttpRule|null); + + /** MethodOptions .google.api.methodSignature */ + ".google.api.methodSignature"?: (string[]|null); + + /** MethodOptions .google.longrunning.operationInfo */ + ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null); + } + + /** Represents a MethodOptions. */ + class MethodOptions implements IMethodOptions { + + /** + * Constructs a new MethodOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodOptions); + + /** MethodOptions deprecated. */ + public deprecated: boolean; + + /** MethodOptions idempotencyLevel. */ + public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); + + /** MethodOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodOptions instance + */ + public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; + + /** + * Verifies a MethodOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @param message MethodOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodOptions { + + /** IdempotencyLevel enum. */ + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2 + } + } + + /** Properties of an UninterpretedOption. */ + interface IUninterpretedOption { + + /** UninterpretedOption name */ + name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + + /** UninterpretedOption identifierValue */ + identifierValue?: (string|null); + + /** UninterpretedOption positiveIntValue */ + positiveIntValue?: (number|Long|string|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|string|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|string|null); + + /** UninterpretedOption aggregateValue */ + aggregateValue?: (string|null); + } + + /** Represents an UninterpretedOption. */ + class UninterpretedOption implements IUninterpretedOption { + + /** + * Constructs a new UninterpretedOption. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUninterpretedOption); + + /** UninterpretedOption name. */ + public name: google.protobuf.UninterpretedOption.INamePart[]; + + /** UninterpretedOption identifierValue. */ + public identifierValue: string; + + /** UninterpretedOption positiveIntValue. */ + public positiveIntValue: (number|Long|string); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long|string); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: (Uint8Array|string); + + /** UninterpretedOption aggregateValue. */ + public aggregateValue: string; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @param [properties] Properties to set + * @returns UninterpretedOption instance + */ + public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; + + /** + * Verifies an UninterpretedOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UninterpretedOption + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @param message UninterpretedOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UninterpretedOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UninterpretedOption + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace UninterpretedOption { + + /** Properties of a NamePart. */ + interface INamePart { + + /** NamePart namePart */ + namePart: string; + + /** NamePart isExtension */ + isExtension: boolean; + } + + /** Represents a NamePart. */ + class NamePart implements INamePart { + + /** + * Constructs a new NamePart. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.UninterpretedOption.INamePart); + + /** NamePart namePart. */ + public namePart: string; + + /** NamePart isExtension. */ + public isExtension: boolean; + + /** + * Creates a new NamePart instance using the specified properties. + * @param [properties] Properties to set + * @returns NamePart instance + */ + public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; + + /** + * Verifies a NamePart message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NamePart + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @param message NamePart + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NamePart to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NamePart + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SourceCodeInfo. */ + interface ISourceCodeInfo { + + /** SourceCodeInfo location */ + location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + } + + /** Represents a SourceCodeInfo. */ + class SourceCodeInfo implements ISourceCodeInfo { + + /** + * Constructs a new SourceCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceCodeInfo); + + /** SourceCodeInfo location. */ + public location: google.protobuf.SourceCodeInfo.ILocation[]; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceCodeInfo instance + */ + public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; + + /** + * Verifies a SourceCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @param message SourceCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SourceCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SourceCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace SourceCodeInfo { + + /** Properties of a Location. */ + interface ILocation { + + /** Location path */ + path?: (number[]|null); + + /** Location span */ + span?: (number[]|null); + + /** Location leadingComments */ + leadingComments?: (string|null); + + /** Location trailingComments */ + trailingComments?: (string|null); + + /** Location leadingDetachedComments */ + leadingDetachedComments?: (string[]|null); + } + + /** Represents a Location. */ + class Location implements ILocation { + + /** + * Constructs a new Location. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); + + /** Location path. */ + public path: number[]; + + /** Location span. */ + public span: number[]; + + /** Location leadingComments. */ + public leadingComments: string; + + /** Location trailingComments. */ + public trailingComments: string; + + /** Location leadingDetachedComments. */ + public leadingDetachedComments: string[]; + + /** + * Creates a new Location instance using the specified properties. + * @param [properties] Properties to set + * @returns Location instance + */ + public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Location message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; + + /** + * Verifies a Location message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Location + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Location to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Location + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a GeneratedCodeInfo. */ + interface IGeneratedCodeInfo { + + /** GeneratedCodeInfo annotation */ + annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + } + + /** Represents a GeneratedCodeInfo. */ + class GeneratedCodeInfo implements IGeneratedCodeInfo { + + /** + * Constructs a new GeneratedCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IGeneratedCodeInfo); + + /** GeneratedCodeInfo annotation. */ + public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GeneratedCodeInfo instance + */ + public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + + /** + * Verifies a GeneratedCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GeneratedCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @param message GeneratedCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GeneratedCodeInfo { + + /** Properties of an Annotation. */ + interface IAnnotation { + + /** Annotation path */ + path?: (number[]|null); + + /** Annotation sourceFile */ + sourceFile?: (string|null); + + /** Annotation begin */ + begin?: (number|null); + + /** Annotation end */ + end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); + } + + /** Represents an Annotation. */ + class Annotation implements IAnnotation { + + /** + * Constructs a new Annotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); + + /** Annotation path. */ + public path: number[]; + + /** Annotation sourceFile. */ + public sourceFile: string; + + /** Annotation begin. */ + public begin: number; + + /** Annotation end. */ + public end: number; + + /** Annotation semantic. */ + public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic); + + /** + * Creates a new Annotation instance using the specified properties. + * @param [properties] Properties to set + * @returns Annotation instance + */ + public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Verifies an Annotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Annotation + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @param message Annotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Annotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Annotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Annotation { + + /** Semantic enum. */ + enum Semantic { + NONE = 0, + SET = 1, + ALIAS = 2 + } + } + } + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|string|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long|string); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Duration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Empty. */ + interface IEmpty { + } + + /** Represents an Empty. */ + class Empty implements IEmpty { + + /** + * Constructs a new Empty. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEmpty); + + /** + * Creates a new Empty instance using the specified properties. + * @param [properties] Properties to set + * @returns Empty instance + */ + public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty; + + /** + * Verifies an Empty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Empty + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Empty; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @param message Empty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Empty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Empty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldMask. */ + interface IFieldMask { + + /** FieldMask paths */ + paths?: (string[]|null); + } + + /** Represents a FieldMask. */ + class FieldMask implements IFieldMask { + + /** + * Constructs a new FieldMask. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldMask); + + /** FieldMask paths. */ + public paths: string[]; + + /** + * Creates a new FieldMask instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldMask instance + */ + public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @param message FieldMask message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask; + + /** + * Verifies a FieldMask message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldMask + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @param message FieldMask + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldMask to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldMask + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace api. */ + namespace api { + + /** Namespace serviceusage. */ + namespace serviceusage { + + /** Namespace v1. */ + namespace v1 { + + /** Properties of a Service. */ + interface IService { + + /** Service name */ + name?: (string|null); + + /** Service parent */ + parent?: (string|null); + + /** Service config */ + config?: (google.api.serviceusage.v1.IServiceConfig|null); + + /** Service state */ + state?: (google.api.serviceusage.v1.State|keyof typeof google.api.serviceusage.v1.State|null); + } + + /** Represents a Service. */ + class Service implements IService { + + /** + * Constructs a new Service. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IService); + + /** Service name. */ + public name: string; + + /** Service parent. */ + public parent: string; + + /** Service config. */ + public config?: (google.api.serviceusage.v1.IServiceConfig|null); + + /** Service state. */ + public state: (google.api.serviceusage.v1.State|keyof typeof google.api.serviceusage.v1.State); + + /** + * Creates a new Service instance using the specified properties. + * @param [properties] Properties to set + * @returns Service instance + */ + public static create(properties?: google.api.serviceusage.v1.IService): google.api.serviceusage.v1.Service; + + /** + * Encodes the specified Service message. Does not implicitly {@link google.api.serviceusage.v1.Service.verify|verify} messages. + * @param message Service message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IService, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Service message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.Service.verify|verify} messages. + * @param message Service message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IService, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Service message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Service + * @throws {Error} If the payload is not 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.serviceusage.v1.Service; + + /** + * Decodes a Service message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Service + * @throws {Error} If the payload 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.serviceusage.v1.Service; + + /** + * Verifies a Service message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Service message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Service + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.Service; + + /** + * Creates a plain object from a Service message. Also converts values to other types if specified. + * @param message Service + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.Service, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Service to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Service + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + DISABLED = 1, + ENABLED = 2 + } + + /** Properties of a ServiceConfig. */ + interface IServiceConfig { + + /** ServiceConfig name */ + name?: (string|null); + + /** ServiceConfig title */ + title?: (string|null); + + /** ServiceConfig apis */ + apis?: (google.protobuf.IApi[]|null); + + /** ServiceConfig documentation */ + documentation?: (google.api.IDocumentation|null); + + /** ServiceConfig quota */ + quota?: (google.api.IQuota|null); + + /** ServiceConfig authentication */ + authentication?: (google.api.IAuthentication|null); + + /** ServiceConfig usage */ + usage?: (google.api.IUsage|null); + + /** ServiceConfig endpoints */ + endpoints?: (google.api.IEndpoint[]|null); + + /** ServiceConfig monitoredResources */ + monitoredResources?: (google.api.IMonitoredResourceDescriptor[]|null); + + /** ServiceConfig monitoring */ + monitoring?: (google.api.IMonitoring|null); + } + + /** Represents a ServiceConfig. */ + class ServiceConfig implements IServiceConfig { + + /** + * Constructs a new ServiceConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IServiceConfig); + + /** ServiceConfig name. */ + public name: string; + + /** ServiceConfig title. */ + public title: string; + + /** ServiceConfig apis. */ + public apis: google.protobuf.IApi[]; + + /** ServiceConfig documentation. */ + public documentation?: (google.api.IDocumentation|null); + + /** ServiceConfig quota. */ + public quota?: (google.api.IQuota|null); + + /** ServiceConfig authentication. */ + public authentication?: (google.api.IAuthentication|null); + + /** ServiceConfig usage. */ + public usage?: (google.api.IUsage|null); + + /** ServiceConfig endpoints. */ + public endpoints: google.api.IEndpoint[]; + + /** ServiceConfig monitoredResources. */ + public monitoredResources: google.api.IMonitoredResourceDescriptor[]; + + /** ServiceConfig monitoring. */ + public monitoring?: (google.api.IMonitoring|null); + + /** + * Creates a new ServiceConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceConfig instance + */ + public static create(properties?: google.api.serviceusage.v1.IServiceConfig): google.api.serviceusage.v1.ServiceConfig; + + /** + * Encodes the specified ServiceConfig message. Does not implicitly {@link google.api.serviceusage.v1.ServiceConfig.verify|verify} messages. + * @param message ServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceConfig message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ServiceConfig.verify|verify} messages. + * @param message ServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceConfig + * @throws {Error} If the payload is not 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.serviceusage.v1.ServiceConfig; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceConfig + * @throws {Error} If the payload 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.serviceusage.v1.ServiceConfig; + + /** + * Verifies a ServiceConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceConfig + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.ServiceConfig; + + /** + * Creates a plain object from a ServiceConfig message. Also converts values to other types if specified. + * @param message ServiceConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.ServiceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata resourceNames */ + resourceNames?: (string[]|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IOperationMetadata); + + /** OperationMetadata resourceNames. */ + public resourceNames: string[]; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1.IOperationMetadata): google.api.serviceusage.v1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.api.serviceusage.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.serviceusage.v1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.serviceusage.v1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Represents a ServiceUsage */ + class ServiceUsage extends $protobuf.rpc.Service { + + /** + * Constructs a new ServiceUsage service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new ServiceUsage service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ServiceUsage; + + /** + * Calls EnableService. + * @param request EnableServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public enableService(request: google.api.serviceusage.v1.IEnableServiceRequest, callback: google.api.serviceusage.v1.ServiceUsage.EnableServiceCallback): void; + + /** + * Calls EnableService. + * @param request EnableServiceRequest message or plain object + * @returns Promise + */ + public enableService(request: google.api.serviceusage.v1.IEnableServiceRequest): Promise; + + /** + * Calls DisableService. + * @param request DisableServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public disableService(request: google.api.serviceusage.v1.IDisableServiceRequest, callback: google.api.serviceusage.v1.ServiceUsage.DisableServiceCallback): void; + + /** + * Calls DisableService. + * @param request DisableServiceRequest message or plain object + * @returns Promise + */ + public disableService(request: google.api.serviceusage.v1.IDisableServiceRequest): Promise; + + /** + * Calls GetService. + * @param request GetServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Service + */ + public getService(request: google.api.serviceusage.v1.IGetServiceRequest, callback: google.api.serviceusage.v1.ServiceUsage.GetServiceCallback): void; + + /** + * Calls GetService. + * @param request GetServiceRequest message or plain object + * @returns Promise + */ + public getService(request: google.api.serviceusage.v1.IGetServiceRequest): Promise; + + /** + * Calls ListServices. + * @param request ListServicesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListServicesResponse + */ + public listServices(request: google.api.serviceusage.v1.IListServicesRequest, callback: google.api.serviceusage.v1.ServiceUsage.ListServicesCallback): void; + + /** + * Calls ListServices. + * @param request ListServicesRequest message or plain object + * @returns Promise + */ + public listServices(request: google.api.serviceusage.v1.IListServicesRequest): Promise; + + /** + * Calls BatchEnableServices. + * @param request BatchEnableServicesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public batchEnableServices(request: google.api.serviceusage.v1.IBatchEnableServicesRequest, callback: google.api.serviceusage.v1.ServiceUsage.BatchEnableServicesCallback): void; + + /** + * Calls BatchEnableServices. + * @param request BatchEnableServicesRequest message or plain object + * @returns Promise + */ + public batchEnableServices(request: google.api.serviceusage.v1.IBatchEnableServicesRequest): Promise; + + /** + * Calls BatchGetServices. + * @param request BatchGetServicesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and BatchGetServicesResponse + */ + public batchGetServices(request: google.api.serviceusage.v1.IBatchGetServicesRequest, callback: google.api.serviceusage.v1.ServiceUsage.BatchGetServicesCallback): void; + + /** + * Calls BatchGetServices. + * @param request BatchGetServicesRequest message or plain object + * @returns Promise + */ + public batchGetServices(request: google.api.serviceusage.v1.IBatchGetServicesRequest): Promise; + } + + namespace ServiceUsage { + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|enableService}. + * @param error Error, if any + * @param [response] Operation + */ + type EnableServiceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|disableService}. + * @param error Error, if any + * @param [response] Operation + */ + type DisableServiceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|getService}. + * @param error Error, if any + * @param [response] Service + */ + type GetServiceCallback = (error: (Error|null), response?: google.api.serviceusage.v1.Service) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|listServices}. + * @param error Error, if any + * @param [response] ListServicesResponse + */ + type ListServicesCallback = (error: (Error|null), response?: google.api.serviceusage.v1.ListServicesResponse) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|batchEnableServices}. + * @param error Error, if any + * @param [response] Operation + */ + type BatchEnableServicesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|batchGetServices}. + * @param error Error, if any + * @param [response] BatchGetServicesResponse + */ + type BatchGetServicesCallback = (error: (Error|null), response?: google.api.serviceusage.v1.BatchGetServicesResponse) => void; + } + + /** Properties of an EnableServiceRequest. */ + interface IEnableServiceRequest { + + /** EnableServiceRequest name */ + name?: (string|null); + } + + /** Represents an EnableServiceRequest. */ + class EnableServiceRequest implements IEnableServiceRequest { + + /** + * Constructs a new EnableServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IEnableServiceRequest); + + /** EnableServiceRequest name. */ + public name: string; + + /** + * Creates a new EnableServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns EnableServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IEnableServiceRequest): google.api.serviceusage.v1.EnableServiceRequest; + + /** + * Encodes the specified EnableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceRequest.verify|verify} messages. + * @param message EnableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IEnableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceRequest.verify|verify} messages. + * @param message EnableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IEnableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnableServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.EnableServiceRequest; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnableServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1.EnableServiceRequest; + + /** + * Verifies an EnableServiceRequest message. + * @param message Plain 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 EnableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnableServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.EnableServiceRequest; + + /** + * Creates a plain object from an EnableServiceRequest message. Also converts values to other types if specified. + * @param message EnableServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.EnableServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnableServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnableServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnableServiceResponse. */ + interface IEnableServiceResponse { + + /** EnableServiceResponse service */ + service?: (google.api.serviceusage.v1.IService|null); + } + + /** Represents an EnableServiceResponse. */ + class EnableServiceResponse implements IEnableServiceResponse { + + /** + * Constructs a new EnableServiceResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IEnableServiceResponse); + + /** EnableServiceResponse service. */ + public service?: (google.api.serviceusage.v1.IService|null); + + /** + * Creates a new EnableServiceResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns EnableServiceResponse instance + */ + public static create(properties?: google.api.serviceusage.v1.IEnableServiceResponse): google.api.serviceusage.v1.EnableServiceResponse; + + /** + * Encodes the specified EnableServiceResponse message. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceResponse.verify|verify} messages. + * @param message EnableServiceResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IEnableServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnableServiceResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceResponse.verify|verify} messages. + * @param message EnableServiceResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IEnableServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnableServiceResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnableServiceResponse + * @throws {Error} If the payload is not 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.serviceusage.v1.EnableServiceResponse; + + /** + * Decodes an EnableServiceResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnableServiceResponse + * @throws {Error} If the payload 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.serviceusage.v1.EnableServiceResponse; + + /** + * Verifies an EnableServiceResponse message. + * @param message Plain 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 EnableServiceResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnableServiceResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.EnableServiceResponse; + + /** + * Creates a plain object from an EnableServiceResponse message. Also converts values to other types if specified. + * @param message EnableServiceResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.EnableServiceResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnableServiceResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnableServiceResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DisableServiceRequest. */ + interface IDisableServiceRequest { + + /** DisableServiceRequest name */ + name?: (string|null); + + /** DisableServiceRequest disableDependentServices */ + disableDependentServices?: (boolean|null); + + /** DisableServiceRequest checkIfServiceHasUsage */ + checkIfServiceHasUsage?: (google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage|keyof typeof google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage|null); + } + + /** Represents a DisableServiceRequest. */ + class DisableServiceRequest implements IDisableServiceRequest { + + /** + * Constructs a new DisableServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IDisableServiceRequest); + + /** DisableServiceRequest name. */ + public name: string; + + /** DisableServiceRequest disableDependentServices. */ + public disableDependentServices: boolean; + + /** DisableServiceRequest checkIfServiceHasUsage. */ + public checkIfServiceHasUsage: (google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage|keyof typeof google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage); + + /** + * Creates a new DisableServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DisableServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IDisableServiceRequest): google.api.serviceusage.v1.DisableServiceRequest; + + /** + * Encodes the specified DisableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceRequest.verify|verify} messages. + * @param message DisableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IDisableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DisableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceRequest.verify|verify} messages. + * @param message DisableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IDisableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DisableServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.DisableServiceRequest; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DisableServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1.DisableServiceRequest; + + /** + * Verifies a DisableServiceRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DisableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DisableServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.DisableServiceRequest; + + /** + * Creates a plain object from a DisableServiceRequest message. Also converts values to other types if specified. + * @param message DisableServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.DisableServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DisableServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DisableServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DisableServiceRequest { + + /** CheckIfServiceHasUsage enum. */ + enum CheckIfServiceHasUsage { + CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED = 0, + SKIP = 1, + CHECK = 2 + } + } + + /** Properties of a DisableServiceResponse. */ + interface IDisableServiceResponse { + + /** DisableServiceResponse service */ + service?: (google.api.serviceusage.v1.IService|null); + } + + /** Represents a DisableServiceResponse. */ + class DisableServiceResponse implements IDisableServiceResponse { + + /** + * Constructs a new DisableServiceResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IDisableServiceResponse); + + /** DisableServiceResponse service. */ + public service?: (google.api.serviceusage.v1.IService|null); + + /** + * Creates a new DisableServiceResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns DisableServiceResponse instance + */ + public static create(properties?: google.api.serviceusage.v1.IDisableServiceResponse): google.api.serviceusage.v1.DisableServiceResponse; + + /** + * Encodes the specified DisableServiceResponse message. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceResponse.verify|verify} messages. + * @param message DisableServiceResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IDisableServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DisableServiceResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceResponse.verify|verify} messages. + * @param message DisableServiceResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IDisableServiceResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DisableServiceResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DisableServiceResponse + * @throws {Error} If the payload is not 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.serviceusage.v1.DisableServiceResponse; + + /** + * Decodes a DisableServiceResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DisableServiceResponse + * @throws {Error} If the payload 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.serviceusage.v1.DisableServiceResponse; + + /** + * Verifies a DisableServiceResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DisableServiceResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DisableServiceResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.DisableServiceResponse; + + /** + * Creates a plain object from a DisableServiceResponse message. Also converts values to other types if specified. + * @param message DisableServiceResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.DisableServiceResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DisableServiceResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DisableServiceResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetServiceRequest. */ + interface IGetServiceRequest { + + /** GetServiceRequest name */ + name?: (string|null); + } + + /** Represents a GetServiceRequest. */ + class GetServiceRequest implements IGetServiceRequest { + + /** + * Constructs a new GetServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IGetServiceRequest); + + /** GetServiceRequest name. */ + public name: string; + + /** + * Creates a new GetServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IGetServiceRequest): google.api.serviceusage.v1.GetServiceRequest; + + /** + * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.GetServiceRequest.verify|verify} messages. + * @param message GetServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.GetServiceRequest.verify|verify} messages. + * @param message GetServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.GetServiceRequest; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1.GetServiceRequest; + + /** + * Verifies a GetServiceRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.GetServiceRequest; + + /** + * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified. + * @param message GetServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.GetServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListServicesRequest. */ + interface IListServicesRequest { + + /** ListServicesRequest parent */ + parent?: (string|null); + + /** ListServicesRequest pageSize */ + pageSize?: (number|null); + + /** ListServicesRequest pageToken */ + pageToken?: (string|null); + + /** ListServicesRequest filter */ + filter?: (string|null); + } + + /** Represents a ListServicesRequest. */ + class ListServicesRequest implements IListServicesRequest { + + /** + * Constructs a new ListServicesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IListServicesRequest); + + /** ListServicesRequest parent. */ + public parent: string; + + /** ListServicesRequest pageSize. */ + public pageSize: number; + + /** ListServicesRequest pageToken. */ + public pageToken: string; + + /** ListServicesRequest filter. */ + public filter: string; + + /** + * Creates a new ListServicesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListServicesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IListServicesRequest): google.api.serviceusage.v1.ListServicesRequest; + + /** + * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.ListServicesRequest.verify|verify} messages. + * @param message ListServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ListServicesRequest.verify|verify} messages. + * @param message ListServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListServicesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.ListServicesRequest; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListServicesRequest + * @throws {Error} If the payload 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.serviceusage.v1.ListServicesRequest; + + /** + * Verifies a ListServicesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListServicesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.ListServicesRequest; + + /** + * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified. + * @param message ListServicesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.ListServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListServicesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListServicesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListServicesResponse. */ + interface IListServicesResponse { + + /** ListServicesResponse services */ + services?: (google.api.serviceusage.v1.IService[]|null); + + /** ListServicesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListServicesResponse. */ + class ListServicesResponse implements IListServicesResponse { + + /** + * Constructs a new ListServicesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IListServicesResponse); + + /** ListServicesResponse services. */ + public services: google.api.serviceusage.v1.IService[]; + + /** ListServicesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListServicesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListServicesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1.IListServicesResponse): google.api.serviceusage.v1.ListServicesResponse; + + /** + * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.ListServicesResponse.verify|verify} messages. + * @param message ListServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ListServicesResponse.verify|verify} messages. + * @param message ListServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListServicesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1.ListServicesResponse; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListServicesResponse + * @throws {Error} If the payload 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.serviceusage.v1.ListServicesResponse; + + /** + * Verifies a ListServicesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListServicesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.ListServicesResponse; + + /** + * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified. + * @param message ListServicesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.ListServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListServicesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListServicesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchEnableServicesRequest. */ + interface IBatchEnableServicesRequest { + + /** BatchEnableServicesRequest parent */ + parent?: (string|null); + + /** BatchEnableServicesRequest serviceIds */ + serviceIds?: (string[]|null); + } + + /** Represents a BatchEnableServicesRequest. */ + class BatchEnableServicesRequest implements IBatchEnableServicesRequest { + + /** + * Constructs a new BatchEnableServicesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IBatchEnableServicesRequest); + + /** BatchEnableServicesRequest parent. */ + public parent: string; + + /** BatchEnableServicesRequest serviceIds. */ + public serviceIds: string[]; + + /** + * Creates a new BatchEnableServicesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchEnableServicesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IBatchEnableServicesRequest): google.api.serviceusage.v1.BatchEnableServicesRequest; + + /** + * Encodes the specified BatchEnableServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesRequest.verify|verify} messages. + * @param message BatchEnableServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IBatchEnableServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchEnableServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesRequest.verify|verify} messages. + * @param message BatchEnableServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IBatchEnableServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchEnableServicesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.BatchEnableServicesRequest; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchEnableServicesRequest + * @throws {Error} If the payload 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.serviceusage.v1.BatchEnableServicesRequest; + + /** + * Verifies a BatchEnableServicesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchEnableServicesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchEnableServicesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.BatchEnableServicesRequest; + + /** + * Creates a plain object from a BatchEnableServicesRequest message. Also converts values to other types if specified. + * @param message BatchEnableServicesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.BatchEnableServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchEnableServicesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchEnableServicesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchEnableServicesResponse. */ + interface IBatchEnableServicesResponse { + + /** BatchEnableServicesResponse services */ + services?: (google.api.serviceusage.v1.IService[]|null); + + /** BatchEnableServicesResponse failures */ + failures?: (google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure[]|null); + } + + /** Represents a BatchEnableServicesResponse. */ + class BatchEnableServicesResponse implements IBatchEnableServicesResponse { + + /** + * Constructs a new BatchEnableServicesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IBatchEnableServicesResponse); + + /** BatchEnableServicesResponse services. */ + public services: google.api.serviceusage.v1.IService[]; + + /** BatchEnableServicesResponse failures. */ + public failures: google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure[]; + + /** + * Creates a new BatchEnableServicesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchEnableServicesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1.IBatchEnableServicesResponse): google.api.serviceusage.v1.BatchEnableServicesResponse; + + /** + * Encodes the specified BatchEnableServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.verify|verify} messages. + * @param message BatchEnableServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IBatchEnableServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchEnableServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.verify|verify} messages. + * @param message BatchEnableServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IBatchEnableServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchEnableServicesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchEnableServicesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1.BatchEnableServicesResponse; + + /** + * Decodes a BatchEnableServicesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchEnableServicesResponse + * @throws {Error} If the payload 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.serviceusage.v1.BatchEnableServicesResponse; + + /** + * Verifies a BatchEnableServicesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchEnableServicesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchEnableServicesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.BatchEnableServicesResponse; + + /** + * Creates a plain object from a BatchEnableServicesResponse message. Also converts values to other types if specified. + * @param message BatchEnableServicesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.BatchEnableServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchEnableServicesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchEnableServicesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace BatchEnableServicesResponse { + + /** Properties of an EnableFailure. */ + interface IEnableFailure { + + /** EnableFailure serviceId */ + serviceId?: (string|null); + + /** EnableFailure errorMessage */ + errorMessage?: (string|null); + } + + /** Represents an EnableFailure. */ + class EnableFailure implements IEnableFailure { + + /** + * Constructs a new EnableFailure. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure); + + /** EnableFailure serviceId. */ + public serviceId: string; + + /** EnableFailure errorMessage. */ + public errorMessage: string; + + /** + * Creates a new EnableFailure instance using the specified properties. + * @param [properties] Properties to set + * @returns EnableFailure instance + */ + public static create(properties?: google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure): google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure; + + /** + * Encodes the specified EnableFailure message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.verify|verify} messages. + * @param message EnableFailure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnableFailure message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.verify|verify} messages. + * @param message EnableFailure message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnableFailure message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnableFailure + * @throws {Error} If the payload is not 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.serviceusage.v1.BatchEnableServicesResponse.EnableFailure; + + /** + * Decodes an EnableFailure message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnableFailure + * @throws {Error} If the payload 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.serviceusage.v1.BatchEnableServicesResponse.EnableFailure; + + /** + * Verifies an EnableFailure message. + * @param message Plain 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 EnableFailure message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnableFailure + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure; + + /** + * Creates a plain object from an EnableFailure message. Also converts values to other types if specified. + * @param message EnableFailure + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnableFailure to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnableFailure + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a BatchGetServicesRequest. */ + interface IBatchGetServicesRequest { + + /** BatchGetServicesRequest parent */ + parent?: (string|null); + + /** BatchGetServicesRequest names */ + names?: (string[]|null); + } + + /** Represents a BatchGetServicesRequest. */ + class BatchGetServicesRequest implements IBatchGetServicesRequest { + + /** + * Constructs a new BatchGetServicesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IBatchGetServicesRequest); + + /** BatchGetServicesRequest parent. */ + public parent: string; + + /** BatchGetServicesRequest names. */ + public names: string[]; + + /** + * Creates a new BatchGetServicesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchGetServicesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1.IBatchGetServicesRequest): google.api.serviceusage.v1.BatchGetServicesRequest; + + /** + * Encodes the specified BatchGetServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesRequest.verify|verify} messages. + * @param message BatchGetServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IBatchGetServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchGetServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesRequest.verify|verify} messages. + * @param message BatchGetServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IBatchGetServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchGetServicesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchGetServicesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1.BatchGetServicesRequest; + + /** + * Decodes a BatchGetServicesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchGetServicesRequest + * @throws {Error} If the payload 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.serviceusage.v1.BatchGetServicesRequest; + + /** + * Verifies a BatchGetServicesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchGetServicesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchGetServicesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.BatchGetServicesRequest; + + /** + * Creates a plain object from a BatchGetServicesRequest message. Also converts values to other types if specified. + * @param message BatchGetServicesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.BatchGetServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchGetServicesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchGetServicesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchGetServicesResponse. */ + interface IBatchGetServicesResponse { + + /** BatchGetServicesResponse services */ + services?: (google.api.serviceusage.v1.IService[]|null); + } + + /** Represents a BatchGetServicesResponse. */ + class BatchGetServicesResponse implements IBatchGetServicesResponse { + + /** + * Constructs a new BatchGetServicesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1.IBatchGetServicesResponse); + + /** BatchGetServicesResponse services. */ + public services: google.api.serviceusage.v1.IService[]; + + /** + * Creates a new BatchGetServicesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchGetServicesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1.IBatchGetServicesResponse): google.api.serviceusage.v1.BatchGetServicesResponse; + + /** + * Encodes the specified BatchGetServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesResponse.verify|verify} messages. + * @param message BatchGetServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1.IBatchGetServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchGetServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesResponse.verify|verify} messages. + * @param message BatchGetServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1.IBatchGetServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchGetServicesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchGetServicesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1.BatchGetServicesResponse; + + /** + * Decodes a BatchGetServicesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchGetServicesResponse + * @throws {Error} If the payload 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.serviceusage.v1.BatchGetServicesResponse; + + /** + * Verifies a BatchGetServicesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchGetServicesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchGetServicesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1.BatchGetServicesResponse; + + /** + * Creates a plain object from a BatchGetServicesResponse message. Also converts values to other types if specified. + * @param message BatchGetServicesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1.BatchGetServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchGetServicesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchGetServicesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace v1beta1. */ + namespace v1beta1 { + + /** Properties of a Service. */ + interface IService { + + /** Service name */ + name?: (string|null); + + /** Service parent */ + parent?: (string|null); + + /** Service config */ + config?: (google.api.serviceusage.v1beta1.IServiceConfig|null); + + /** Service state */ + state?: (google.api.serviceusage.v1beta1.State|keyof typeof google.api.serviceusage.v1beta1.State|null); + } + + /** Represents a Service. */ + class Service implements IService { + + /** + * Constructs a new Service. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IService); + + /** Service name. */ + public name: string; + + /** Service parent. */ + public parent: string; + + /** Service config. */ + public config?: (google.api.serviceusage.v1beta1.IServiceConfig|null); + + /** Service state. */ + public state: (google.api.serviceusage.v1beta1.State|keyof typeof google.api.serviceusage.v1beta1.State); + + /** + * Creates a new Service instance using the specified properties. + * @param [properties] Properties to set + * @returns Service instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IService): google.api.serviceusage.v1beta1.Service; + + /** + * Encodes the specified Service message. Does not implicitly {@link google.api.serviceusage.v1beta1.Service.verify|verify} messages. + * @param message Service message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IService, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Service message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.Service.verify|verify} messages. + * @param message Service message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IService, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Service message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Service + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.Service; + + /** + * Decodes a Service message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Service + * @throws {Error} If the payload 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.serviceusage.v1beta1.Service; + + /** + * Verifies a Service message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Service message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Service + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.Service; + + /** + * Creates a plain object from a Service message. Also converts values to other types if specified. + * @param message Service + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.Service, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Service to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Service + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + DISABLED = 1, + ENABLED = 2 + } + + /** Properties of a ServiceConfig. */ + interface IServiceConfig { + + /** ServiceConfig name */ + name?: (string|null); + + /** ServiceConfig title */ + title?: (string|null); + + /** ServiceConfig apis */ + apis?: (google.protobuf.IApi[]|null); + + /** ServiceConfig documentation */ + documentation?: (google.api.IDocumentation|null); + + /** ServiceConfig quota */ + quota?: (google.api.IQuota|null); + + /** ServiceConfig authentication */ + authentication?: (google.api.IAuthentication|null); + + /** ServiceConfig usage */ + usage?: (google.api.IUsage|null); + + /** ServiceConfig endpoints */ + endpoints?: (google.api.IEndpoint[]|null); + + /** ServiceConfig monitoredResources */ + monitoredResources?: (google.api.IMonitoredResourceDescriptor[]|null); + + /** ServiceConfig monitoring */ + monitoring?: (google.api.IMonitoring|null); + } + + /** Represents a ServiceConfig. */ + class ServiceConfig implements IServiceConfig { + + /** + * Constructs a new ServiceConfig. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IServiceConfig); + + /** ServiceConfig name. */ + public name: string; + + /** ServiceConfig title. */ + public title: string; + + /** ServiceConfig apis. */ + public apis: google.protobuf.IApi[]; + + /** ServiceConfig documentation. */ + public documentation?: (google.api.IDocumentation|null); + + /** ServiceConfig quota. */ + public quota?: (google.api.IQuota|null); + + /** ServiceConfig authentication. */ + public authentication?: (google.api.IAuthentication|null); + + /** ServiceConfig usage. */ + public usage?: (google.api.IUsage|null); + + /** ServiceConfig endpoints. */ + public endpoints: google.api.IEndpoint[]; + + /** ServiceConfig monitoredResources. */ + public monitoredResources: google.api.IMonitoredResourceDescriptor[]; + + /** ServiceConfig monitoring. */ + public monitoring?: (google.api.IMonitoring|null); + + /** + * Creates a new ServiceConfig instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceConfig instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IServiceConfig): google.api.serviceusage.v1beta1.ServiceConfig; + + /** + * Encodes the specified ServiceConfig message. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceConfig.verify|verify} messages. + * @param message ServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceConfig message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceConfig.verify|verify} messages. + * @param message ServiceConfig message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IServiceConfig, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceConfig + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ServiceConfig; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceConfig + * @throws {Error} If the payload 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.serviceusage.v1beta1.ServiceConfig; + + /** + * Verifies a ServiceConfig message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceConfig message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceConfig + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ServiceConfig; + + /** + * Creates a plain object from a ServiceConfig message. Also converts values to other types if specified. + * @param message ServiceConfig + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ServiceConfig, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceConfig to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceConfig + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata resourceNames */ + resourceNames?: (string[]|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IOperationMetadata); + + /** OperationMetadata resourceNames. */ + public resourceNames: string[]; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IOperationMetadata): google.api.serviceusage.v1beta1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.serviceusage.v1beta1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.serviceusage.v1beta1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.OperationMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConsumerQuotaMetric. */ + interface IConsumerQuotaMetric { + + /** ConsumerQuotaMetric name */ + name?: (string|null); + + /** ConsumerQuotaMetric metric */ + metric?: (string|null); + + /** ConsumerQuotaMetric displayName */ + displayName?: (string|null); + + /** ConsumerQuotaMetric consumerQuotaLimits */ + consumerQuotaLimits?: (google.api.serviceusage.v1beta1.IConsumerQuotaLimit[]|null); + + /** ConsumerQuotaMetric descendantConsumerQuotaLimits */ + descendantConsumerQuotaLimits?: (google.api.serviceusage.v1beta1.IConsumerQuotaLimit[]|null); + + /** ConsumerQuotaMetric unit */ + unit?: (string|null); + } + + /** Represents a ConsumerQuotaMetric. */ + class ConsumerQuotaMetric implements IConsumerQuotaMetric { + + /** + * Constructs a new ConsumerQuotaMetric. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IConsumerQuotaMetric); + + /** ConsumerQuotaMetric name. */ + public name: string; + + /** ConsumerQuotaMetric metric. */ + public metric: string; + + /** ConsumerQuotaMetric displayName. */ + public displayName: string; + + /** ConsumerQuotaMetric consumerQuotaLimits. */ + public consumerQuotaLimits: google.api.serviceusage.v1beta1.IConsumerQuotaLimit[]; + + /** ConsumerQuotaMetric descendantConsumerQuotaLimits. */ + public descendantConsumerQuotaLimits: google.api.serviceusage.v1beta1.IConsumerQuotaLimit[]; + + /** ConsumerQuotaMetric unit. */ + public unit: string; + + /** + * Creates a new ConsumerQuotaMetric instance using the specified properties. + * @param [properties] Properties to set + * @returns ConsumerQuotaMetric instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IConsumerQuotaMetric): google.api.serviceusage.v1beta1.ConsumerQuotaMetric; + + /** + * Encodes the specified ConsumerQuotaMetric message. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric.verify|verify} messages. + * @param message ConsumerQuotaMetric message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IConsumerQuotaMetric, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConsumerQuotaMetric message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric.verify|verify} messages. + * @param message ConsumerQuotaMetric message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IConsumerQuotaMetric, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConsumerQuotaMetric message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConsumerQuotaMetric + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ConsumerQuotaMetric; + + /** + * Decodes a ConsumerQuotaMetric message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConsumerQuotaMetric + * @throws {Error} If the payload 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.serviceusage.v1beta1.ConsumerQuotaMetric; + + /** + * Verifies a ConsumerQuotaMetric message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConsumerQuotaMetric message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConsumerQuotaMetric + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ConsumerQuotaMetric; + + /** + * Creates a plain object from a ConsumerQuotaMetric message. Also converts values to other types if specified. + * @param message ConsumerQuotaMetric + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ConsumerQuotaMetric, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConsumerQuotaMetric to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConsumerQuotaMetric + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConsumerQuotaLimit. */ + interface IConsumerQuotaLimit { + + /** ConsumerQuotaLimit name */ + name?: (string|null); + + /** ConsumerQuotaLimit metric */ + metric?: (string|null); + + /** ConsumerQuotaLimit unit */ + unit?: (string|null); + + /** ConsumerQuotaLimit isPrecise */ + isPrecise?: (boolean|null); + + /** ConsumerQuotaLimit allowsAdminOverrides */ + allowsAdminOverrides?: (boolean|null); + + /** ConsumerQuotaLimit quotaBuckets */ + quotaBuckets?: (google.api.serviceusage.v1beta1.IQuotaBucket[]|null); + } + + /** Represents a ConsumerQuotaLimit. */ + class ConsumerQuotaLimit implements IConsumerQuotaLimit { + + /** + * Constructs a new ConsumerQuotaLimit. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IConsumerQuotaLimit); + + /** ConsumerQuotaLimit name. */ + public name: string; + + /** ConsumerQuotaLimit metric. */ + public metric: string; + + /** ConsumerQuotaLimit unit. */ + public unit: string; + + /** ConsumerQuotaLimit isPrecise. */ + public isPrecise: boolean; + + /** ConsumerQuotaLimit allowsAdminOverrides. */ + public allowsAdminOverrides: boolean; + + /** ConsumerQuotaLimit quotaBuckets. */ + public quotaBuckets: google.api.serviceusage.v1beta1.IQuotaBucket[]; + + /** + * Creates a new ConsumerQuotaLimit instance using the specified properties. + * @param [properties] Properties to set + * @returns ConsumerQuotaLimit instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IConsumerQuotaLimit): google.api.serviceusage.v1beta1.ConsumerQuotaLimit; + + /** + * Encodes the specified ConsumerQuotaLimit message. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify|verify} messages. + * @param message ConsumerQuotaLimit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IConsumerQuotaLimit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConsumerQuotaLimit message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify|verify} messages. + * @param message ConsumerQuotaLimit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IConsumerQuotaLimit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConsumerQuotaLimit message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConsumerQuotaLimit + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ConsumerQuotaLimit; + + /** + * Decodes a ConsumerQuotaLimit message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConsumerQuotaLimit + * @throws {Error} If the payload 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.serviceusage.v1beta1.ConsumerQuotaLimit; + + /** + * Verifies a ConsumerQuotaLimit message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConsumerQuotaLimit message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConsumerQuotaLimit + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ConsumerQuotaLimit; + + /** + * Creates a plain object from a ConsumerQuotaLimit message. Also converts values to other types if specified. + * @param message ConsumerQuotaLimit + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ConsumerQuotaLimit, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConsumerQuotaLimit to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConsumerQuotaLimit + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** QuotaView enum. */ + enum QuotaView { + QUOTA_VIEW_UNSPECIFIED = 0, + BASIC = 1, + FULL = 2 + } + + /** Properties of a QuotaBucket. */ + interface IQuotaBucket { + + /** QuotaBucket effectiveLimit */ + effectiveLimit?: (number|Long|string|null); + + /** QuotaBucket defaultLimit */ + defaultLimit?: (number|Long|string|null); + + /** QuotaBucket producerOverride */ + producerOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket consumerOverride */ + consumerOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket adminOverride */ + adminOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket dimensions */ + dimensions?: ({ [k: string]: string }|null); + } + + /** Represents a QuotaBucket. */ + class QuotaBucket implements IQuotaBucket { + + /** + * Constructs a new QuotaBucket. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IQuotaBucket); + + /** QuotaBucket effectiveLimit. */ + public effectiveLimit: (number|Long|string); + + /** QuotaBucket defaultLimit. */ + public defaultLimit: (number|Long|string); + + /** QuotaBucket producerOverride. */ + public producerOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket consumerOverride. */ + public consumerOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket adminOverride. */ + public adminOverride?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** QuotaBucket dimensions. */ + public dimensions: { [k: string]: string }; + + /** + * Creates a new QuotaBucket instance using the specified properties. + * @param [properties] Properties to set + * @returns QuotaBucket instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IQuotaBucket): google.api.serviceusage.v1beta1.QuotaBucket; + + /** + * Encodes the specified QuotaBucket message. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaBucket.verify|verify} messages. + * @param message QuotaBucket message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IQuotaBucket, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified QuotaBucket message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaBucket.verify|verify} messages. + * @param message QuotaBucket message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IQuotaBucket, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a QuotaBucket message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns QuotaBucket + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.QuotaBucket; + + /** + * Decodes a QuotaBucket message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns QuotaBucket + * @throws {Error} If the payload 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.serviceusage.v1beta1.QuotaBucket; + + /** + * Verifies a QuotaBucket message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a QuotaBucket message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns QuotaBucket + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.QuotaBucket; + + /** + * Creates a plain object from a QuotaBucket message. Also converts values to other types if specified. + * @param message QuotaBucket + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.QuotaBucket, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this QuotaBucket to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for QuotaBucket + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a QuotaOverride. */ + interface IQuotaOverride { + + /** QuotaOverride name */ + name?: (string|null); + + /** QuotaOverride overrideValue */ + overrideValue?: (number|Long|string|null); + + /** QuotaOverride dimensions */ + dimensions?: ({ [k: string]: string }|null); + + /** QuotaOverride metric */ + metric?: (string|null); + + /** QuotaOverride unit */ + unit?: (string|null); + + /** QuotaOverride adminOverrideAncestor */ + adminOverrideAncestor?: (string|null); + } + + /** Represents a QuotaOverride. */ + class QuotaOverride implements IQuotaOverride { + + /** + * Constructs a new QuotaOverride. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IQuotaOverride); + + /** QuotaOverride name. */ + public name: string; + + /** QuotaOverride overrideValue. */ + public overrideValue: (number|Long|string); + + /** QuotaOverride dimensions. */ + public dimensions: { [k: string]: string }; + + /** QuotaOverride metric. */ + public metric: string; + + /** QuotaOverride unit. */ + public unit: string; + + /** QuotaOverride adminOverrideAncestor. */ + public adminOverrideAncestor: string; + + /** + * Creates a new QuotaOverride instance using the specified properties. + * @param [properties] Properties to set + * @returns QuotaOverride instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IQuotaOverride): google.api.serviceusage.v1beta1.QuotaOverride; + + /** + * Encodes the specified QuotaOverride message. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaOverride.verify|verify} messages. + * @param message QuotaOverride message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IQuotaOverride, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified QuotaOverride message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaOverride.verify|verify} messages. + * @param message QuotaOverride message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IQuotaOverride, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a QuotaOverride message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns QuotaOverride + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.QuotaOverride; + + /** + * Decodes a QuotaOverride message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns QuotaOverride + * @throws {Error} If the payload 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.serviceusage.v1beta1.QuotaOverride; + + /** + * Verifies a QuotaOverride message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a QuotaOverride message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns QuotaOverride + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.QuotaOverride; + + /** + * Creates a plain object from a QuotaOverride message. Also converts values to other types if specified. + * @param message QuotaOverride + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.QuotaOverride, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this QuotaOverride to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for QuotaOverride + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OverrideInlineSource. */ + interface IOverrideInlineSource { + + /** OverrideInlineSource overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + } + + /** Represents an OverrideInlineSource. */ + class OverrideInlineSource implements IOverrideInlineSource { + + /** + * Constructs a new OverrideInlineSource. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IOverrideInlineSource); + + /** OverrideInlineSource overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** + * Creates a new OverrideInlineSource instance using the specified properties. + * @param [properties] Properties to set + * @returns OverrideInlineSource instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IOverrideInlineSource): google.api.serviceusage.v1beta1.OverrideInlineSource; + + /** + * Encodes the specified OverrideInlineSource message. Does not implicitly {@link google.api.serviceusage.v1beta1.OverrideInlineSource.verify|verify} messages. + * @param message OverrideInlineSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IOverrideInlineSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OverrideInlineSource message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.OverrideInlineSource.verify|verify} messages. + * @param message OverrideInlineSource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IOverrideInlineSource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OverrideInlineSource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OverrideInlineSource + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.OverrideInlineSource; + + /** + * Decodes an OverrideInlineSource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OverrideInlineSource + * @throws {Error} If the payload 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.serviceusage.v1beta1.OverrideInlineSource; + + /** + * Verifies an OverrideInlineSource message. + * @param message Plain 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 OverrideInlineSource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OverrideInlineSource + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.OverrideInlineSource; + + /** + * Creates a plain object from an OverrideInlineSource message. Also converts values to other types if specified. + * @param message OverrideInlineSource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.OverrideInlineSource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OverrideInlineSource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OverrideInlineSource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** QuotaSafetyCheck enum. */ + enum QuotaSafetyCheck { + QUOTA_SAFETY_CHECK_UNSPECIFIED = 0, + LIMIT_DECREASE_BELOW_USAGE = 1, + LIMIT_DECREASE_PERCENTAGE_TOO_HIGH = 2 + } + + /** Properties of an AdminQuotaPolicy. */ + interface IAdminQuotaPolicy { + + /** AdminQuotaPolicy name */ + name?: (string|null); + + /** AdminQuotaPolicy policyValue */ + policyValue?: (number|Long|string|null); + + /** AdminQuotaPolicy dimensions */ + dimensions?: ({ [k: string]: string }|null); + + /** AdminQuotaPolicy metric */ + metric?: (string|null); + + /** AdminQuotaPolicy unit */ + unit?: (string|null); + + /** AdminQuotaPolicy container */ + container?: (string|null); + } + + /** Represents an AdminQuotaPolicy. */ + class AdminQuotaPolicy implements IAdminQuotaPolicy { + + /** + * Constructs a new AdminQuotaPolicy. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IAdminQuotaPolicy); + + /** AdminQuotaPolicy name. */ + public name: string; + + /** AdminQuotaPolicy policyValue. */ + public policyValue: (number|Long|string); + + /** AdminQuotaPolicy dimensions. */ + public dimensions: { [k: string]: string }; + + /** AdminQuotaPolicy metric. */ + public metric: string; + + /** AdminQuotaPolicy unit. */ + public unit: string; + + /** AdminQuotaPolicy container. */ + public container: string; + + /** + * Creates a new AdminQuotaPolicy instance using the specified properties. + * @param [properties] Properties to set + * @returns AdminQuotaPolicy instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IAdminQuotaPolicy): google.api.serviceusage.v1beta1.AdminQuotaPolicy; + + /** + * Encodes the specified AdminQuotaPolicy message. Does not implicitly {@link google.api.serviceusage.v1beta1.AdminQuotaPolicy.verify|verify} messages. + * @param message AdminQuotaPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IAdminQuotaPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AdminQuotaPolicy message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.AdminQuotaPolicy.verify|verify} messages. + * @param message AdminQuotaPolicy message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IAdminQuotaPolicy, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AdminQuotaPolicy message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AdminQuotaPolicy + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.AdminQuotaPolicy; + + /** + * Decodes an AdminQuotaPolicy message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AdminQuotaPolicy + * @throws {Error} If the payload 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.serviceusage.v1beta1.AdminQuotaPolicy; + + /** + * Verifies an AdminQuotaPolicy message. + * @param message Plain 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 AdminQuotaPolicy message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AdminQuotaPolicy + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.AdminQuotaPolicy; + + /** + * Creates a plain object from an AdminQuotaPolicy message. Also converts values to other types if specified. + * @param message AdminQuotaPolicy + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.AdminQuotaPolicy, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AdminQuotaPolicy to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AdminQuotaPolicy + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceIdentity. */ + interface IServiceIdentity { + + /** ServiceIdentity email */ + email?: (string|null); + + /** ServiceIdentity uniqueId */ + uniqueId?: (string|null); + } + + /** Represents a ServiceIdentity. */ + class ServiceIdentity implements IServiceIdentity { + + /** + * Constructs a new ServiceIdentity. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IServiceIdentity); + + /** ServiceIdentity email. */ + public email: string; + + /** ServiceIdentity uniqueId. */ + public uniqueId: string; + + /** + * Creates a new ServiceIdentity instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceIdentity instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IServiceIdentity): google.api.serviceusage.v1beta1.ServiceIdentity; + + /** + * Encodes the specified ServiceIdentity message. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceIdentity.verify|verify} messages. + * @param message ServiceIdentity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IServiceIdentity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceIdentity message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceIdentity.verify|verify} messages. + * @param message ServiceIdentity message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IServiceIdentity, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceIdentity message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceIdentity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.serviceusage.v1beta1.ServiceIdentity; + + /** + * Decodes a ServiceIdentity message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceIdentity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.serviceusage.v1beta1.ServiceIdentity; + + /** + * Verifies a ServiceIdentity message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceIdentity message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceIdentity + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ServiceIdentity; + + /** + * Creates a plain object from a ServiceIdentity message. Also converts values to other types if specified. + * @param message ServiceIdentity + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ServiceIdentity, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceIdentity to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceIdentity + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Represents a ServiceUsage */ + class ServiceUsage extends $protobuf.rpc.Service { + + /** + * Constructs a new ServiceUsage service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new ServiceUsage service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): ServiceUsage; + + /** + * Calls EnableService. + * @param request EnableServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public enableService(request: google.api.serviceusage.v1beta1.IEnableServiceRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.EnableServiceCallback): void; + + /** + * Calls EnableService. + * @param request EnableServiceRequest message or plain object + * @returns Promise + */ + public enableService(request: google.api.serviceusage.v1beta1.IEnableServiceRequest): Promise; + + /** + * Calls DisableService. + * @param request DisableServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public disableService(request: google.api.serviceusage.v1beta1.IDisableServiceRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.DisableServiceCallback): void; + + /** + * Calls DisableService. + * @param request DisableServiceRequest message or plain object + * @returns Promise + */ + public disableService(request: google.api.serviceusage.v1beta1.IDisableServiceRequest): Promise; + + /** + * Calls GetService. + * @param request GetServiceRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Service + */ + public getService(request: google.api.serviceusage.v1beta1.IGetServiceRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.GetServiceCallback): void; + + /** + * Calls GetService. + * @param request GetServiceRequest message or plain object + * @returns Promise + */ + public getService(request: google.api.serviceusage.v1beta1.IGetServiceRequest): Promise; + + /** + * Calls ListServices. + * @param request ListServicesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListServicesResponse + */ + public listServices(request: google.api.serviceusage.v1beta1.IListServicesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ListServicesCallback): void; + + /** + * Calls ListServices. + * @param request ListServicesRequest message or plain object + * @returns Promise + */ + public listServices(request: google.api.serviceusage.v1beta1.IListServicesRequest): Promise; + + /** + * Calls BatchEnableServices. + * @param request BatchEnableServicesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public batchEnableServices(request: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.BatchEnableServicesCallback): void; + + /** + * Calls BatchEnableServices. + * @param request BatchEnableServicesRequest message or plain object + * @returns Promise + */ + public batchEnableServices(request: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest): Promise; + + /** + * Calls ListConsumerQuotaMetrics. + * @param request ListConsumerQuotaMetricsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListConsumerQuotaMetricsResponse + */ + public listConsumerQuotaMetrics(request: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerQuotaMetricsCallback): void; + + /** + * Calls ListConsumerQuotaMetrics. + * @param request ListConsumerQuotaMetricsRequest message or plain object + * @returns Promise + */ + public listConsumerQuotaMetrics(request: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest): Promise; + + /** + * Calls GetConsumerQuotaMetric. + * @param request GetConsumerQuotaMetricRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ConsumerQuotaMetric + */ + public getConsumerQuotaMetric(request: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaMetricCallback): void; + + /** + * Calls GetConsumerQuotaMetric. + * @param request GetConsumerQuotaMetricRequest message or plain object + * @returns Promise + */ + public getConsumerQuotaMetric(request: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest): Promise; + + /** + * Calls GetConsumerQuotaLimit. + * @param request GetConsumerQuotaLimitRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ConsumerQuotaLimit + */ + public getConsumerQuotaLimit(request: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaLimitCallback): void; + + /** + * Calls GetConsumerQuotaLimit. + * @param request GetConsumerQuotaLimitRequest message or plain object + * @returns Promise + */ + public getConsumerQuotaLimit(request: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest): Promise; + + /** + * Calls CreateAdminOverride. + * @param request CreateAdminOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public createAdminOverride(request: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.CreateAdminOverrideCallback): void; + + /** + * Calls CreateAdminOverride. + * @param request CreateAdminOverrideRequest message or plain object + * @returns Promise + */ + public createAdminOverride(request: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest): Promise; + + /** + * Calls UpdateAdminOverride. + * @param request UpdateAdminOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public updateAdminOverride(request: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.UpdateAdminOverrideCallback): void; + + /** + * Calls UpdateAdminOverride. + * @param request UpdateAdminOverrideRequest message or plain object + * @returns Promise + */ + public updateAdminOverride(request: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest): Promise; + + /** + * Calls DeleteAdminOverride. + * @param request DeleteAdminOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public deleteAdminOverride(request: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.DeleteAdminOverrideCallback): void; + + /** + * Calls DeleteAdminOverride. + * @param request DeleteAdminOverrideRequest message or plain object + * @returns Promise + */ + public deleteAdminOverride(request: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest): Promise; + + /** + * Calls ListAdminOverrides. + * @param request ListAdminOverridesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListAdminOverridesResponse + */ + public listAdminOverrides(request: google.api.serviceusage.v1beta1.IListAdminOverridesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ListAdminOverridesCallback): void; + + /** + * Calls ListAdminOverrides. + * @param request ListAdminOverridesRequest message or plain object + * @returns Promise + */ + public listAdminOverrides(request: google.api.serviceusage.v1beta1.IListAdminOverridesRequest): Promise; + + /** + * Calls ImportAdminOverrides. + * @param request ImportAdminOverridesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public importAdminOverrides(request: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ImportAdminOverridesCallback): void; + + /** + * Calls ImportAdminOverrides. + * @param request ImportAdminOverridesRequest message or plain object + * @returns Promise + */ + public importAdminOverrides(request: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest): Promise; + + /** + * Calls CreateConsumerOverride. + * @param request CreateConsumerOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public createConsumerOverride(request: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.CreateConsumerOverrideCallback): void; + + /** + * Calls CreateConsumerOverride. + * @param request CreateConsumerOverrideRequest message or plain object + * @returns Promise + */ + public createConsumerOverride(request: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest): Promise; + + /** + * Calls UpdateConsumerOverride. + * @param request UpdateConsumerOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public updateConsumerOverride(request: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.UpdateConsumerOverrideCallback): void; + + /** + * Calls UpdateConsumerOverride. + * @param request UpdateConsumerOverrideRequest message or plain object + * @returns Promise + */ + public updateConsumerOverride(request: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest): Promise; + + /** + * Calls DeleteConsumerOverride. + * @param request DeleteConsumerOverrideRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public deleteConsumerOverride(request: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.DeleteConsumerOverrideCallback): void; + + /** + * Calls DeleteConsumerOverride. + * @param request DeleteConsumerOverrideRequest message or plain object + * @returns Promise + */ + public deleteConsumerOverride(request: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest): Promise; + + /** + * Calls ListConsumerOverrides. + * @param request ListConsumerOverridesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListConsumerOverridesResponse + */ + public listConsumerOverrides(request: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerOverridesCallback): void; + + /** + * Calls ListConsumerOverrides. + * @param request ListConsumerOverridesRequest message or plain object + * @returns Promise + */ + public listConsumerOverrides(request: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest): Promise; + + /** + * Calls ImportConsumerOverrides. + * @param request ImportConsumerOverridesRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public importConsumerOverrides(request: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.ImportConsumerOverridesCallback): void; + + /** + * Calls ImportConsumerOverrides. + * @param request ImportConsumerOverridesRequest message or plain object + * @returns Promise + */ + public importConsumerOverrides(request: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest): Promise; + + /** + * Calls GenerateServiceIdentity. + * @param request GenerateServiceIdentityRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public generateServiceIdentity(request: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, callback: google.api.serviceusage.v1beta1.ServiceUsage.GenerateServiceIdentityCallback): void; + + /** + * Calls GenerateServiceIdentity. + * @param request GenerateServiceIdentityRequest message or plain object + * @returns Promise + */ + public generateServiceIdentity(request: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest): Promise; + } + + namespace ServiceUsage { + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|enableService}. + * @param error Error, if any + * @param [response] Operation + */ + type EnableServiceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|disableService}. + * @param error Error, if any + * @param [response] Operation + */ + type DisableServiceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getService}. + * @param error Error, if any + * @param [response] Service + */ + type GetServiceCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.Service) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listServices}. + * @param error Error, if any + * @param [response] ListServicesResponse + */ + type ListServicesCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ListServicesResponse) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|batchEnableServices}. + * @param error Error, if any + * @param [response] Operation + */ + type BatchEnableServicesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listConsumerQuotaMetrics}. + * @param error Error, if any + * @param [response] ListConsumerQuotaMetricsResponse + */ + type ListConsumerQuotaMetricsCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getConsumerQuotaMetric}. + * @param error Error, if any + * @param [response] ConsumerQuotaMetric + */ + type GetConsumerQuotaMetricCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ConsumerQuotaMetric) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getConsumerQuotaLimit}. + * @param error Error, if any + * @param [response] ConsumerQuotaLimit + */ + type GetConsumerQuotaLimitCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ConsumerQuotaLimit) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|createAdminOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type CreateAdminOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|updateAdminOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type UpdateAdminOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|deleteAdminOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type DeleteAdminOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listAdminOverrides}. + * @param error Error, if any + * @param [response] ListAdminOverridesResponse + */ + type ListAdminOverridesCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ListAdminOverridesResponse) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|importAdminOverrides}. + * @param error Error, if any + * @param [response] Operation + */ + type ImportAdminOverridesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|createConsumerOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type CreateConsumerOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|updateConsumerOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type UpdateConsumerOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|deleteConsumerOverride}. + * @param error Error, if any + * @param [response] Operation + */ + type DeleteConsumerOverrideCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listConsumerOverrides}. + * @param error Error, if any + * @param [response] ListConsumerOverridesResponse + */ + type ListConsumerOverridesCallback = (error: (Error|null), response?: google.api.serviceusage.v1beta1.ListConsumerOverridesResponse) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|importConsumerOverrides}. + * @param error Error, if any + * @param [response] Operation + */ + type ImportConsumerOverridesCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|generateServiceIdentity}. + * @param error Error, if any + * @param [response] Operation + */ + type GenerateServiceIdentityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an EnableServiceRequest. */ + interface IEnableServiceRequest { + + /** EnableServiceRequest name */ + name?: (string|null); + } + + /** Represents an EnableServiceRequest. */ + class EnableServiceRequest implements IEnableServiceRequest { + + /** + * Constructs a new EnableServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IEnableServiceRequest); + + /** EnableServiceRequest name. */ + public name: string; + + /** + * Creates a new EnableServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns EnableServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IEnableServiceRequest): google.api.serviceusage.v1beta1.EnableServiceRequest; + + /** + * Encodes the specified EnableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.EnableServiceRequest.verify|verify} messages. + * @param message EnableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IEnableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.EnableServiceRequest.verify|verify} messages. + * @param message EnableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IEnableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnableServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.EnableServiceRequest; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnableServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.EnableServiceRequest; + + /** + * Verifies an EnableServiceRequest message. + * @param message Plain 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 EnableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnableServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.EnableServiceRequest; + + /** + * Creates a plain object from an EnableServiceRequest message. Also converts values to other types if specified. + * @param message EnableServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.EnableServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnableServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnableServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DisableServiceRequest. */ + interface IDisableServiceRequest { + + /** DisableServiceRequest name */ + name?: (string|null); + } + + /** Represents a DisableServiceRequest. */ + class DisableServiceRequest implements IDisableServiceRequest { + + /** + * Constructs a new DisableServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IDisableServiceRequest); + + /** DisableServiceRequest name. */ + public name: string; + + /** + * Creates a new DisableServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DisableServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IDisableServiceRequest): google.api.serviceusage.v1beta1.DisableServiceRequest; + + /** + * Encodes the specified DisableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DisableServiceRequest.verify|verify} messages. + * @param message DisableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IDisableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DisableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DisableServiceRequest.verify|verify} messages. + * @param message DisableServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IDisableServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DisableServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.DisableServiceRequest; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DisableServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.DisableServiceRequest; + + /** + * Verifies a DisableServiceRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DisableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DisableServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.DisableServiceRequest; + + /** + * Creates a plain object from a DisableServiceRequest message. Also converts values to other types if specified. + * @param message DisableServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.DisableServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DisableServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DisableServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetServiceRequest. */ + interface IGetServiceRequest { + + /** GetServiceRequest name */ + name?: (string|null); + } + + /** Represents a GetServiceRequest. */ + class GetServiceRequest implements IGetServiceRequest { + + /** + * Constructs a new GetServiceRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGetServiceRequest); + + /** GetServiceRequest name. */ + public name: string; + + /** + * Creates a new GetServiceRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetServiceRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGetServiceRequest): google.api.serviceusage.v1beta1.GetServiceRequest; + + /** + * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceRequest.verify|verify} messages. + * @param message GetServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceRequest.verify|verify} messages. + * @param message GetServiceRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGetServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetServiceRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.GetServiceRequest; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetServiceRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.GetServiceRequest; + + /** + * Verifies a GetServiceRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetServiceRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GetServiceRequest; + + /** + * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified. + * @param message GetServiceRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GetServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetServiceRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetServiceRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListServicesRequest. */ + interface IListServicesRequest { + + /** ListServicesRequest parent */ + parent?: (string|null); + + /** ListServicesRequest pageSize */ + pageSize?: (number|null); + + /** ListServicesRequest pageToken */ + pageToken?: (string|null); + + /** ListServicesRequest filter */ + filter?: (string|null); + } + + /** Represents a ListServicesRequest. */ + class ListServicesRequest implements IListServicesRequest { + + /** + * Constructs a new ListServicesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListServicesRequest); + + /** ListServicesRequest parent. */ + public parent: string; + + /** ListServicesRequest pageSize. */ + public pageSize: number; + + /** ListServicesRequest pageToken. */ + public pageToken: string; + + /** ListServicesRequest filter. */ + public filter: string; + + /** + * Creates a new ListServicesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListServicesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListServicesRequest): google.api.serviceusage.v1beta1.ListServicesRequest; + + /** + * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesRequest.verify|verify} messages. + * @param message ListServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesRequest.verify|verify} messages. + * @param message ListServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListServicesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListServicesRequest; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListServicesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListServicesRequest; + + /** + * Verifies a ListServicesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListServicesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListServicesRequest; + + /** + * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified. + * @param message ListServicesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListServicesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListServicesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListServicesResponse. */ + interface IListServicesResponse { + + /** ListServicesResponse services */ + services?: (google.api.serviceusage.v1beta1.IService[]|null); + + /** ListServicesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListServicesResponse. */ + class ListServicesResponse implements IListServicesResponse { + + /** + * Constructs a new ListServicesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListServicesResponse); + + /** ListServicesResponse services. */ + public services: google.api.serviceusage.v1beta1.IService[]; + + /** ListServicesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListServicesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListServicesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListServicesResponse): google.api.serviceusage.v1beta1.ListServicesResponse; + + /** + * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesResponse.verify|verify} messages. + * @param message ListServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesResponse.verify|verify} messages. + * @param message ListServicesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListServicesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListServicesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListServicesResponse; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListServicesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListServicesResponse; + + /** + * Verifies a ListServicesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListServicesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListServicesResponse; + + /** + * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified. + * @param message ListServicesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListServicesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListServicesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListServicesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchEnableServicesRequest. */ + interface IBatchEnableServicesRequest { + + /** BatchEnableServicesRequest parent */ + parent?: (string|null); + + /** BatchEnableServicesRequest serviceIds */ + serviceIds?: (string[]|null); + } + + /** Represents a BatchEnableServicesRequest. */ + class BatchEnableServicesRequest implements IBatchEnableServicesRequest { + + /** + * Constructs a new BatchEnableServicesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest); + + /** BatchEnableServicesRequest parent. */ + public parent: string; + + /** BatchEnableServicesRequest serviceIds. */ + public serviceIds: string[]; + + /** + * Creates a new BatchEnableServicesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchEnableServicesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest): google.api.serviceusage.v1beta1.BatchEnableServicesRequest; + + /** + * Encodes the specified BatchEnableServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchEnableServicesRequest.verify|verify} messages. + * @param message BatchEnableServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchEnableServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchEnableServicesRequest.verify|verify} messages. + * @param message BatchEnableServicesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchEnableServicesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.BatchEnableServicesRequest; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchEnableServicesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.BatchEnableServicesRequest; + + /** + * Verifies a BatchEnableServicesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchEnableServicesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchEnableServicesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.BatchEnableServicesRequest; + + /** + * Creates a plain object from a BatchEnableServicesRequest message. Also converts values to other types if specified. + * @param message BatchEnableServicesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.BatchEnableServicesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchEnableServicesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchEnableServicesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListConsumerQuotaMetricsRequest. */ + interface IListConsumerQuotaMetricsRequest { + + /** ListConsumerQuotaMetricsRequest parent */ + parent?: (string|null); + + /** ListConsumerQuotaMetricsRequest pageSize */ + pageSize?: (number|null); + + /** ListConsumerQuotaMetricsRequest pageToken */ + pageToken?: (string|null); + + /** ListConsumerQuotaMetricsRequest view */ + view?: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView|null); + } + + /** Represents a ListConsumerQuotaMetricsRequest. */ + class ListConsumerQuotaMetricsRequest implements IListConsumerQuotaMetricsRequest { + + /** + * Constructs a new ListConsumerQuotaMetricsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest); + + /** ListConsumerQuotaMetricsRequest parent. */ + public parent: string; + + /** ListConsumerQuotaMetricsRequest pageSize. */ + public pageSize: number; + + /** ListConsumerQuotaMetricsRequest pageToken. */ + public pageToken: string; + + /** ListConsumerQuotaMetricsRequest view. */ + public view: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView); + + /** + * Creates a new ListConsumerQuotaMetricsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListConsumerQuotaMetricsRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest): google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest; + + /** + * Encodes the specified ListConsumerQuotaMetricsRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest.verify|verify} messages. + * @param message ListConsumerQuotaMetricsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListConsumerQuotaMetricsRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest.verify|verify} messages. + * @param message ListConsumerQuotaMetricsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListConsumerQuotaMetricsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListConsumerQuotaMetricsRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest; + + /** + * Decodes a ListConsumerQuotaMetricsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListConsumerQuotaMetricsRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest; + + /** + * Verifies a ListConsumerQuotaMetricsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListConsumerQuotaMetricsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListConsumerQuotaMetricsRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest; + + /** + * Creates a plain object from a ListConsumerQuotaMetricsRequest message. Also converts values to other types if specified. + * @param message ListConsumerQuotaMetricsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListConsumerQuotaMetricsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListConsumerQuotaMetricsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListConsumerQuotaMetricsResponse. */ + interface IListConsumerQuotaMetricsResponse { + + /** ListConsumerQuotaMetricsResponse metrics */ + metrics?: (google.api.serviceusage.v1beta1.IConsumerQuotaMetric[]|null); + + /** ListConsumerQuotaMetricsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListConsumerQuotaMetricsResponse. */ + class ListConsumerQuotaMetricsResponse implements IListConsumerQuotaMetricsResponse { + + /** + * Constructs a new ListConsumerQuotaMetricsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse); + + /** ListConsumerQuotaMetricsResponse metrics. */ + public metrics: google.api.serviceusage.v1beta1.IConsumerQuotaMetric[]; + + /** ListConsumerQuotaMetricsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListConsumerQuotaMetricsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListConsumerQuotaMetricsResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse): google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse; + + /** + * Encodes the specified ListConsumerQuotaMetricsResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.verify|verify} messages. + * @param message ListConsumerQuotaMetricsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListConsumerQuotaMetricsResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.verify|verify} messages. + * @param message ListConsumerQuotaMetricsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListConsumerQuotaMetricsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListConsumerQuotaMetricsResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse; + + /** + * Decodes a ListConsumerQuotaMetricsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListConsumerQuotaMetricsResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse; + + /** + * Verifies a ListConsumerQuotaMetricsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListConsumerQuotaMetricsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListConsumerQuotaMetricsResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse; + + /** + * Creates a plain object from a ListConsumerQuotaMetricsResponse message. Also converts values to other types if specified. + * @param message ListConsumerQuotaMetricsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListConsumerQuotaMetricsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListConsumerQuotaMetricsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetConsumerQuotaMetricRequest. */ + interface IGetConsumerQuotaMetricRequest { + + /** GetConsumerQuotaMetricRequest name */ + name?: (string|null); + + /** GetConsumerQuotaMetricRequest view */ + view?: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView|null); + } + + /** Represents a GetConsumerQuotaMetricRequest. */ + class GetConsumerQuotaMetricRequest implements IGetConsumerQuotaMetricRequest { + + /** + * Constructs a new GetConsumerQuotaMetricRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest); + + /** GetConsumerQuotaMetricRequest name. */ + public name: string; + + /** GetConsumerQuotaMetricRequest view. */ + public view: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView); + + /** + * Creates a new GetConsumerQuotaMetricRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetConsumerQuotaMetricRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest): google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest; + + /** + * Encodes the specified GetConsumerQuotaMetricRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest.verify|verify} messages. + * @param message GetConsumerQuotaMetricRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetConsumerQuotaMetricRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest.verify|verify} messages. + * @param message GetConsumerQuotaMetricRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetConsumerQuotaMetricRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetConsumerQuotaMetricRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.GetConsumerQuotaMetricRequest; + + /** + * Decodes a GetConsumerQuotaMetricRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetConsumerQuotaMetricRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.GetConsumerQuotaMetricRequest; + + /** + * Verifies a GetConsumerQuotaMetricRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetConsumerQuotaMetricRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetConsumerQuotaMetricRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest; + + /** + * Creates a plain object from a GetConsumerQuotaMetricRequest message. Also converts values to other types if specified. + * @param message GetConsumerQuotaMetricRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetConsumerQuotaMetricRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetConsumerQuotaMetricRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetConsumerQuotaLimitRequest. */ + interface IGetConsumerQuotaLimitRequest { + + /** GetConsumerQuotaLimitRequest name */ + name?: (string|null); + + /** GetConsumerQuotaLimitRequest view */ + view?: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView|null); + } + + /** Represents a GetConsumerQuotaLimitRequest. */ + class GetConsumerQuotaLimitRequest implements IGetConsumerQuotaLimitRequest { + + /** + * Constructs a new GetConsumerQuotaLimitRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest); + + /** GetConsumerQuotaLimitRequest name. */ + public name: string; + + /** GetConsumerQuotaLimitRequest view. */ + public view: (google.api.serviceusage.v1beta1.QuotaView|keyof typeof google.api.serviceusage.v1beta1.QuotaView); + + /** + * Creates a new GetConsumerQuotaLimitRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetConsumerQuotaLimitRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest): google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest; + + /** + * Encodes the specified GetConsumerQuotaLimitRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest.verify|verify} messages. + * @param message GetConsumerQuotaLimitRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetConsumerQuotaLimitRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest.verify|verify} messages. + * @param message GetConsumerQuotaLimitRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetConsumerQuotaLimitRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetConsumerQuotaLimitRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.GetConsumerQuotaLimitRequest; + + /** + * Decodes a GetConsumerQuotaLimitRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetConsumerQuotaLimitRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.GetConsumerQuotaLimitRequest; + + /** + * Verifies a GetConsumerQuotaLimitRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetConsumerQuotaLimitRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetConsumerQuotaLimitRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest; + + /** + * Creates a plain object from a GetConsumerQuotaLimitRequest message. Also converts values to other types if specified. + * @param message GetConsumerQuotaLimitRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetConsumerQuotaLimitRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetConsumerQuotaLimitRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CreateAdminOverrideRequest. */ + interface ICreateAdminOverrideRequest { + + /** CreateAdminOverrideRequest parent */ + parent?: (string|null); + + /** CreateAdminOverrideRequest override */ + override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** CreateAdminOverrideRequest force */ + force?: (boolean|null); + + /** CreateAdminOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents a CreateAdminOverrideRequest. */ + class CreateAdminOverrideRequest implements ICreateAdminOverrideRequest { + + /** + * Constructs a new CreateAdminOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest); + + /** CreateAdminOverrideRequest parent. */ + public parent: string; + + /** CreateAdminOverrideRequest override. */ + public override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** CreateAdminOverrideRequest force. */ + public force: boolean; + + /** CreateAdminOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new CreateAdminOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateAdminOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest): google.api.serviceusage.v1beta1.CreateAdminOverrideRequest; + + /** + * Encodes the specified CreateAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.verify|verify} messages. + * @param message CreateAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.verify|verify} messages. + * @param message CreateAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateAdminOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateAdminOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.CreateAdminOverrideRequest; + + /** + * Decodes a CreateAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateAdminOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.CreateAdminOverrideRequest; + + /** + * Verifies a CreateAdminOverrideRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateAdminOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.CreateAdminOverrideRequest; + + /** + * Creates a plain object from a CreateAdminOverrideRequest message. Also converts values to other types if specified. + * @param message CreateAdminOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.CreateAdminOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateAdminOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateAdminOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateAdminOverrideRequest. */ + interface IUpdateAdminOverrideRequest { + + /** UpdateAdminOverrideRequest name */ + name?: (string|null); + + /** UpdateAdminOverrideRequest override */ + override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** UpdateAdminOverrideRequest force */ + force?: (boolean|null); + + /** UpdateAdminOverrideRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** UpdateAdminOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents an UpdateAdminOverrideRequest. */ + class UpdateAdminOverrideRequest implements IUpdateAdminOverrideRequest { + + /** + * Constructs a new UpdateAdminOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest); + + /** UpdateAdminOverrideRequest name. */ + public name: string; + + /** UpdateAdminOverrideRequest override. */ + public override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** UpdateAdminOverrideRequest force. */ + public force: boolean; + + /** UpdateAdminOverrideRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** UpdateAdminOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new UpdateAdminOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateAdminOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest): google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest; + + /** + * Encodes the specified UpdateAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.verify|verify} messages. + * @param message UpdateAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.verify|verify} messages. + * @param message UpdateAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateAdminOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateAdminOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.UpdateAdminOverrideRequest; + + /** + * Decodes an UpdateAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateAdminOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.UpdateAdminOverrideRequest; + + /** + * Verifies an UpdateAdminOverrideRequest message. + * @param message Plain 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 UpdateAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateAdminOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest; + + /** + * Creates a plain object from an UpdateAdminOverrideRequest message. Also converts values to other types if specified. + * @param message UpdateAdminOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateAdminOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateAdminOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteAdminOverrideRequest. */ + interface IDeleteAdminOverrideRequest { + + /** DeleteAdminOverrideRequest name */ + name?: (string|null); + + /** DeleteAdminOverrideRequest force */ + force?: (boolean|null); + + /** DeleteAdminOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents a DeleteAdminOverrideRequest. */ + class DeleteAdminOverrideRequest implements IDeleteAdminOverrideRequest { + + /** + * Constructs a new DeleteAdminOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest); + + /** DeleteAdminOverrideRequest name. */ + public name: string; + + /** DeleteAdminOverrideRequest force. */ + public force: boolean; + + /** DeleteAdminOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new DeleteAdminOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteAdminOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest): google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest; + + /** + * Encodes the specified DeleteAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest.verify|verify} messages. + * @param message DeleteAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest.verify|verify} messages. + * @param message DeleteAdminOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteAdminOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteAdminOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.DeleteAdminOverrideRequest; + + /** + * Decodes a DeleteAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteAdminOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.DeleteAdminOverrideRequest; + + /** + * Verifies a DeleteAdminOverrideRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteAdminOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest; + + /** + * Creates a plain object from a DeleteAdminOverrideRequest message. Also converts values to other types if specified. + * @param message DeleteAdminOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteAdminOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteAdminOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListAdminOverridesRequest. */ + interface IListAdminOverridesRequest { + + /** ListAdminOverridesRequest parent */ + parent?: (string|null); + + /** ListAdminOverridesRequest pageSize */ + pageSize?: (number|null); + + /** ListAdminOverridesRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListAdminOverridesRequest. */ + class ListAdminOverridesRequest implements IListAdminOverridesRequest { + + /** + * Constructs a new ListAdminOverridesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListAdminOverridesRequest); + + /** ListAdminOverridesRequest parent. */ + public parent: string; + + /** ListAdminOverridesRequest pageSize. */ + public pageSize: number; + + /** ListAdminOverridesRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListAdminOverridesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListAdminOverridesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListAdminOverridesRequest): google.api.serviceusage.v1beta1.ListAdminOverridesRequest; + + /** + * Encodes the specified ListAdminOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesRequest.verify|verify} messages. + * @param message ListAdminOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListAdminOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListAdminOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesRequest.verify|verify} messages. + * @param message ListAdminOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListAdminOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListAdminOverridesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListAdminOverridesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListAdminOverridesRequest; + + /** + * Decodes a ListAdminOverridesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListAdminOverridesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListAdminOverridesRequest; + + /** + * Verifies a ListAdminOverridesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListAdminOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListAdminOverridesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListAdminOverridesRequest; + + /** + * Creates a plain object from a ListAdminOverridesRequest message. Also converts values to other types if specified. + * @param message ListAdminOverridesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListAdminOverridesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListAdminOverridesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListAdminOverridesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListAdminOverridesResponse. */ + interface IListAdminOverridesResponse { + + /** ListAdminOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + + /** ListAdminOverridesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListAdminOverridesResponse. */ + class ListAdminOverridesResponse implements IListAdminOverridesResponse { + + /** + * Constructs a new ListAdminOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListAdminOverridesResponse); + + /** ListAdminOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** ListAdminOverridesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListAdminOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListAdminOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListAdminOverridesResponse): google.api.serviceusage.v1beta1.ListAdminOverridesResponse; + + /** + * Encodes the specified ListAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesResponse.verify|verify} messages. + * @param message ListAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesResponse.verify|verify} messages. + * @param message ListAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListAdminOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListAdminOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListAdminOverridesResponse; + + /** + * Decodes a ListAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListAdminOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListAdminOverridesResponse; + + /** + * Verifies a ListAdminOverridesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListAdminOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListAdminOverridesResponse; + + /** + * Creates a plain object from a ListAdminOverridesResponse message. Also converts values to other types if specified. + * @param message ListAdminOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListAdminOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListAdminOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListAdminOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchCreateAdminOverridesResponse. */ + interface IBatchCreateAdminOverridesResponse { + + /** BatchCreateAdminOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + } + + /** Represents a BatchCreateAdminOverridesResponse. */ + class BatchCreateAdminOverridesResponse implements IBatchCreateAdminOverridesResponse { + + /** + * Constructs a new BatchCreateAdminOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse); + + /** BatchCreateAdminOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** + * Creates a new BatchCreateAdminOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchCreateAdminOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse): google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse; + + /** + * Encodes the specified BatchCreateAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.verify|verify} messages. + * @param message BatchCreateAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchCreateAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.verify|verify} messages. + * @param message BatchCreateAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchCreateAdminOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchCreateAdminOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.BatchCreateAdminOverridesResponse; + + /** + * Decodes a BatchCreateAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchCreateAdminOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.BatchCreateAdminOverridesResponse; + + /** + * Verifies a BatchCreateAdminOverridesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchCreateAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchCreateAdminOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse; + + /** + * Creates a plain object from a BatchCreateAdminOverridesResponse message. Also converts values to other types if specified. + * @param message BatchCreateAdminOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchCreateAdminOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchCreateAdminOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportAdminOverridesRequest. */ + interface IImportAdminOverridesRequest { + + /** ImportAdminOverridesRequest parent */ + parent?: (string|null); + + /** ImportAdminOverridesRequest inlineSource */ + inlineSource?: (google.api.serviceusage.v1beta1.IOverrideInlineSource|null); + + /** ImportAdminOverridesRequest force */ + force?: (boolean|null); + + /** ImportAdminOverridesRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents an ImportAdminOverridesRequest. */ + class ImportAdminOverridesRequest implements IImportAdminOverridesRequest { + + /** + * Constructs a new ImportAdminOverridesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest); + + /** ImportAdminOverridesRequest parent. */ + public parent: string; + + /** ImportAdminOverridesRequest inlineSource. */ + public inlineSource?: (google.api.serviceusage.v1beta1.IOverrideInlineSource|null); + + /** ImportAdminOverridesRequest force. */ + public force: boolean; + + /** ImportAdminOverridesRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** ImportAdminOverridesRequest source. */ + public source?: "inlineSource"; + + /** + * Creates a new ImportAdminOverridesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportAdminOverridesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest): google.api.serviceusage.v1beta1.ImportAdminOverridesRequest; + + /** + * Encodes the specified ImportAdminOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.verify|verify} messages. + * @param message ImportAdminOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportAdminOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.verify|verify} messages. + * @param message ImportAdminOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportAdminOverridesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportAdminOverridesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportAdminOverridesRequest; + + /** + * Decodes an ImportAdminOverridesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportAdminOverridesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportAdminOverridesRequest; + + /** + * Verifies an ImportAdminOverridesRequest message. + * @param message Plain 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 ImportAdminOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportAdminOverridesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportAdminOverridesRequest; + + /** + * Creates a plain object from an ImportAdminOverridesRequest message. Also converts values to other types if specified. + * @param message ImportAdminOverridesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportAdminOverridesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportAdminOverridesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportAdminOverridesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportAdminOverridesResponse. */ + interface IImportAdminOverridesResponse { + + /** ImportAdminOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + } + + /** Represents an ImportAdminOverridesResponse. */ + class ImportAdminOverridesResponse implements IImportAdminOverridesResponse { + + /** + * Constructs a new ImportAdminOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesResponse); + + /** ImportAdminOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** + * Creates a new ImportAdminOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportAdminOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesResponse): google.api.serviceusage.v1beta1.ImportAdminOverridesResponse; + + /** + * Encodes the specified ImportAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.verify|verify} messages. + * @param message ImportAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.verify|verify} messages. + * @param message ImportAdminOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportAdminOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportAdminOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportAdminOverridesResponse; + + /** + * Decodes an ImportAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportAdminOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportAdminOverridesResponse; + + /** + * Verifies an ImportAdminOverridesResponse message. + * @param message Plain 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 ImportAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportAdminOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportAdminOverridesResponse; + + /** + * Creates a plain object from an ImportAdminOverridesResponse message. Also converts values to other types if specified. + * @param message ImportAdminOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportAdminOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportAdminOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportAdminOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportAdminOverridesMetadata. */ + interface IImportAdminOverridesMetadata { + } + + /** Represents an ImportAdminOverridesMetadata. */ + class ImportAdminOverridesMetadata implements IImportAdminOverridesMetadata { + + /** + * Constructs a new ImportAdminOverridesMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata); + + /** + * Creates a new ImportAdminOverridesMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportAdminOverridesMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata): google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata; + + /** + * Encodes the specified ImportAdminOverridesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata.verify|verify} messages. + * @param message ImportAdminOverridesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportAdminOverridesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata.verify|verify} messages. + * @param message ImportAdminOverridesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportAdminOverridesMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportAdminOverridesMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportAdminOverridesMetadata; + + /** + * Decodes an ImportAdminOverridesMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportAdminOverridesMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportAdminOverridesMetadata; + + /** + * Verifies an ImportAdminOverridesMetadata message. + * @param message Plain 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 ImportAdminOverridesMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportAdminOverridesMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata; + + /** + * Creates a plain object from an ImportAdminOverridesMetadata message. Also converts values to other types if specified. + * @param message ImportAdminOverridesMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportAdminOverridesMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportAdminOverridesMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CreateConsumerOverrideRequest. */ + interface ICreateConsumerOverrideRequest { + + /** CreateConsumerOverrideRequest parent */ + parent?: (string|null); + + /** CreateConsumerOverrideRequest override */ + override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** CreateConsumerOverrideRequest force */ + force?: (boolean|null); + + /** CreateConsumerOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents a CreateConsumerOverrideRequest. */ + class CreateConsumerOverrideRequest implements ICreateConsumerOverrideRequest { + + /** + * Constructs a new CreateConsumerOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest); + + /** CreateConsumerOverrideRequest parent. */ + public parent: string; + + /** CreateConsumerOverrideRequest override. */ + public override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** CreateConsumerOverrideRequest force. */ + public force: boolean; + + /** CreateConsumerOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new CreateConsumerOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateConsumerOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest): google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest; + + /** + * Encodes the specified CreateConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.verify|verify} messages. + * @param message CreateConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.verify|verify} messages. + * @param message CreateConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateConsumerOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateConsumerOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.CreateConsumerOverrideRequest; + + /** + * Decodes a CreateConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateConsumerOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.CreateConsumerOverrideRequest; + + /** + * Verifies a CreateConsumerOverrideRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateConsumerOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest; + + /** + * Creates a plain object from a CreateConsumerOverrideRequest message. Also converts values to other types if specified. + * @param message CreateConsumerOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateConsumerOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateConsumerOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateConsumerOverrideRequest. */ + interface IUpdateConsumerOverrideRequest { + + /** UpdateConsumerOverrideRequest name */ + name?: (string|null); + + /** UpdateConsumerOverrideRequest override */ + override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** UpdateConsumerOverrideRequest force */ + force?: (boolean|null); + + /** UpdateConsumerOverrideRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** UpdateConsumerOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents an UpdateConsumerOverrideRequest. */ + class UpdateConsumerOverrideRequest implements IUpdateConsumerOverrideRequest { + + /** + * Constructs a new UpdateConsumerOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest); + + /** UpdateConsumerOverrideRequest name. */ + public name: string; + + /** UpdateConsumerOverrideRequest override. */ + public override?: (google.api.serviceusage.v1beta1.IQuotaOverride|null); + + /** UpdateConsumerOverrideRequest force. */ + public force: boolean; + + /** UpdateConsumerOverrideRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** UpdateConsumerOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new UpdateConsumerOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateConsumerOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest): google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest; + + /** + * Encodes the specified UpdateConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.verify|verify} messages. + * @param message UpdateConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.verify|verify} messages. + * @param message UpdateConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateConsumerOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateConsumerOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.UpdateConsumerOverrideRequest; + + /** + * Decodes an UpdateConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateConsumerOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.UpdateConsumerOverrideRequest; + + /** + * Verifies an UpdateConsumerOverrideRequest message. + * @param message Plain 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 UpdateConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateConsumerOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest; + + /** + * Creates a plain object from an UpdateConsumerOverrideRequest message. Also converts values to other types if specified. + * @param message UpdateConsumerOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateConsumerOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateConsumerOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteConsumerOverrideRequest. */ + interface IDeleteConsumerOverrideRequest { + + /** DeleteConsumerOverrideRequest name */ + name?: (string|null); + + /** DeleteConsumerOverrideRequest force */ + force?: (boolean|null); + + /** DeleteConsumerOverrideRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents a DeleteConsumerOverrideRequest. */ + class DeleteConsumerOverrideRequest implements IDeleteConsumerOverrideRequest { + + /** + * Constructs a new DeleteConsumerOverrideRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest); + + /** DeleteConsumerOverrideRequest name. */ + public name: string; + + /** DeleteConsumerOverrideRequest force. */ + public force: boolean; + + /** DeleteConsumerOverrideRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** + * Creates a new DeleteConsumerOverrideRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteConsumerOverrideRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest): google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest; + + /** + * Encodes the specified DeleteConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest.verify|verify} messages. + * @param message DeleteConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest.verify|verify} messages. + * @param message DeleteConsumerOverrideRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteConsumerOverrideRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteConsumerOverrideRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.DeleteConsumerOverrideRequest; + + /** + * Decodes a DeleteConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteConsumerOverrideRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.DeleteConsumerOverrideRequest; + + /** + * Verifies a DeleteConsumerOverrideRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteConsumerOverrideRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest; + + /** + * Creates a plain object from a DeleteConsumerOverrideRequest message. Also converts values to other types if specified. + * @param message DeleteConsumerOverrideRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteConsumerOverrideRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteConsumerOverrideRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListConsumerOverridesRequest. */ + interface IListConsumerOverridesRequest { + + /** ListConsumerOverridesRequest parent */ + parent?: (string|null); + + /** ListConsumerOverridesRequest pageSize */ + pageSize?: (number|null); + + /** ListConsumerOverridesRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListConsumerOverridesRequest. */ + class ListConsumerOverridesRequest implements IListConsumerOverridesRequest { + + /** + * Constructs a new ListConsumerOverridesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest); + + /** ListConsumerOverridesRequest parent. */ + public parent: string; + + /** ListConsumerOverridesRequest pageSize. */ + public pageSize: number; + + /** ListConsumerOverridesRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListConsumerOverridesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListConsumerOverridesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest): google.api.serviceusage.v1beta1.ListConsumerOverridesRequest; + + /** + * Encodes the specified ListConsumerOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesRequest.verify|verify} messages. + * @param message ListConsumerOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListConsumerOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesRequest.verify|verify} messages. + * @param message ListConsumerOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListConsumerOverridesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListConsumerOverridesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListConsumerOverridesRequest; + + /** + * Decodes a ListConsumerOverridesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListConsumerOverridesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListConsumerOverridesRequest; + + /** + * Verifies a ListConsumerOverridesRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListConsumerOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListConsumerOverridesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListConsumerOverridesRequest; + + /** + * Creates a plain object from a ListConsumerOverridesRequest message. Also converts values to other types if specified. + * @param message ListConsumerOverridesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListConsumerOverridesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListConsumerOverridesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListConsumerOverridesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListConsumerOverridesResponse. */ + interface IListConsumerOverridesResponse { + + /** ListConsumerOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + + /** ListConsumerOverridesResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListConsumerOverridesResponse. */ + class ListConsumerOverridesResponse implements IListConsumerOverridesResponse { + + /** + * Constructs a new ListConsumerOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IListConsumerOverridesResponse); + + /** ListConsumerOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** ListConsumerOverridesResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListConsumerOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListConsumerOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IListConsumerOverridesResponse): google.api.serviceusage.v1beta1.ListConsumerOverridesResponse; + + /** + * Encodes the specified ListConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.verify|verify} messages. + * @param message ListConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IListConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.verify|verify} messages. + * @param message ListConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IListConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListConsumerOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListConsumerOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ListConsumerOverridesResponse; + + /** + * Decodes a ListConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListConsumerOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ListConsumerOverridesResponse; + + /** + * Verifies a ListConsumerOverridesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListConsumerOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ListConsumerOverridesResponse; + + /** + * Creates a plain object from a ListConsumerOverridesResponse message. Also converts values to other types if specified. + * @param message ListConsumerOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ListConsumerOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListConsumerOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListConsumerOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a BatchCreateConsumerOverridesResponse. */ + interface IBatchCreateConsumerOverridesResponse { + + /** BatchCreateConsumerOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + } + + /** Represents a BatchCreateConsumerOverridesResponse. */ + class BatchCreateConsumerOverridesResponse implements IBatchCreateConsumerOverridesResponse { + + /** + * Constructs a new BatchCreateConsumerOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse); + + /** BatchCreateConsumerOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** + * Creates a new BatchCreateConsumerOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns BatchCreateConsumerOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse): google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse; + + /** + * Encodes the specified BatchCreateConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.verify|verify} messages. + * @param message BatchCreateConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified BatchCreateConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.verify|verify} messages. + * @param message BatchCreateConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a BatchCreateConsumerOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns BatchCreateConsumerOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse; + + /** + * Decodes a BatchCreateConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns BatchCreateConsumerOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse; + + /** + * Verifies a BatchCreateConsumerOverridesResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a BatchCreateConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns BatchCreateConsumerOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse; + + /** + * Creates a plain object from a BatchCreateConsumerOverridesResponse message. Also converts values to other types if specified. + * @param message BatchCreateConsumerOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this BatchCreateConsumerOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for BatchCreateConsumerOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportConsumerOverridesRequest. */ + interface IImportConsumerOverridesRequest { + + /** ImportConsumerOverridesRequest parent */ + parent?: (string|null); + + /** ImportConsumerOverridesRequest inlineSource */ + inlineSource?: (google.api.serviceusage.v1beta1.IOverrideInlineSource|null); + + /** ImportConsumerOverridesRequest force */ + force?: (boolean|null); + + /** ImportConsumerOverridesRequest forceOnly */ + forceOnly?: (google.api.serviceusage.v1beta1.QuotaSafetyCheck[]|null); + } + + /** Represents an ImportConsumerOverridesRequest. */ + class ImportConsumerOverridesRequest implements IImportConsumerOverridesRequest { + + /** + * Constructs a new ImportConsumerOverridesRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest); + + /** ImportConsumerOverridesRequest parent. */ + public parent: string; + + /** ImportConsumerOverridesRequest inlineSource. */ + public inlineSource?: (google.api.serviceusage.v1beta1.IOverrideInlineSource|null); + + /** ImportConsumerOverridesRequest force. */ + public force: boolean; + + /** ImportConsumerOverridesRequest forceOnly. */ + public forceOnly: google.api.serviceusage.v1beta1.QuotaSafetyCheck[]; + + /** ImportConsumerOverridesRequest source. */ + public source?: "inlineSource"; + + /** + * Creates a new ImportConsumerOverridesRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportConsumerOverridesRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest): google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest; + + /** + * Encodes the specified ImportConsumerOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.verify|verify} messages. + * @param message ImportConsumerOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportConsumerOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.verify|verify} messages. + * @param message ImportConsumerOverridesRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportConsumerOverridesRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportConsumerOverridesRequest + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportConsumerOverridesRequest; + + /** + * Decodes an ImportConsumerOverridesRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportConsumerOverridesRequest + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportConsumerOverridesRequest; + + /** + * Verifies an ImportConsumerOverridesRequest message. + * @param message Plain 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 ImportConsumerOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportConsumerOverridesRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest; + + /** + * Creates a plain object from an ImportConsumerOverridesRequest message. Also converts values to other types if specified. + * @param message ImportConsumerOverridesRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportConsumerOverridesRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportConsumerOverridesRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportConsumerOverridesResponse. */ + interface IImportConsumerOverridesResponse { + + /** ImportConsumerOverridesResponse overrides */ + overrides?: (google.api.serviceusage.v1beta1.IQuotaOverride[]|null); + } + + /** Represents an ImportConsumerOverridesResponse. */ + class ImportConsumerOverridesResponse implements IImportConsumerOverridesResponse { + + /** + * Constructs a new ImportConsumerOverridesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse); + + /** ImportConsumerOverridesResponse overrides. */ + public overrides: google.api.serviceusage.v1beta1.IQuotaOverride[]; + + /** + * Creates a new ImportConsumerOverridesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportConsumerOverridesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse): google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse; + + /** + * Encodes the specified ImportConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.verify|verify} messages. + * @param message ImportConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.verify|verify} messages. + * @param message ImportConsumerOverridesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportConsumerOverridesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportConsumerOverridesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportConsumerOverridesResponse; + + /** + * Decodes an ImportConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportConsumerOverridesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportConsumerOverridesResponse; + + /** + * Verifies an ImportConsumerOverridesResponse message. + * @param message Plain 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 ImportConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportConsumerOverridesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse; + + /** + * Creates a plain object from an ImportConsumerOverridesResponse message. Also converts values to other types if specified. + * @param message ImportConsumerOverridesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportConsumerOverridesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportConsumerOverridesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportConsumerOverridesMetadata. */ + interface IImportConsumerOverridesMetadata { + } + + /** Represents an ImportConsumerOverridesMetadata. */ + class ImportConsumerOverridesMetadata implements IImportConsumerOverridesMetadata { + + /** + * Constructs a new ImportConsumerOverridesMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata); + + /** + * Creates a new ImportConsumerOverridesMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportConsumerOverridesMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata): google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata; + + /** + * Encodes the specified ImportConsumerOverridesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata.verify|verify} messages. + * @param message ImportConsumerOverridesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportConsumerOverridesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata.verify|verify} messages. + * @param message ImportConsumerOverridesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportConsumerOverridesMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportConsumerOverridesMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportConsumerOverridesMetadata; + + /** + * Decodes an ImportConsumerOverridesMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportConsumerOverridesMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportConsumerOverridesMetadata; + + /** + * Verifies an ImportConsumerOverridesMetadata message. + * @param message Plain 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 ImportConsumerOverridesMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportConsumerOverridesMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata; + + /** + * Creates a plain object from an ImportConsumerOverridesMetadata message. Also converts values to other types if specified. + * @param message ImportConsumerOverridesMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportConsumerOverridesMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportConsumerOverridesMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportAdminQuotaPoliciesResponse. */ + interface IImportAdminQuotaPoliciesResponse { + + /** ImportAdminQuotaPoliciesResponse policies */ + policies?: (google.api.serviceusage.v1beta1.IAdminQuotaPolicy[]|null); + } + + /** Represents an ImportAdminQuotaPoliciesResponse. */ + class ImportAdminQuotaPoliciesResponse implements IImportAdminQuotaPoliciesResponse { + + /** + * Constructs a new ImportAdminQuotaPoliciesResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse); + + /** ImportAdminQuotaPoliciesResponse policies. */ + public policies: google.api.serviceusage.v1beta1.IAdminQuotaPolicy[]; + + /** + * Creates a new ImportAdminQuotaPoliciesResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportAdminQuotaPoliciesResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse): google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse; + + /** + * Encodes the specified ImportAdminQuotaPoliciesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.verify|verify} messages. + * @param message ImportAdminQuotaPoliciesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportAdminQuotaPoliciesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.verify|verify} messages. + * @param message ImportAdminQuotaPoliciesResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportAdminQuotaPoliciesResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportAdminQuotaPoliciesResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse; + + /** + * Decodes an ImportAdminQuotaPoliciesResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportAdminQuotaPoliciesResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse; + + /** + * Verifies an ImportAdminQuotaPoliciesResponse message. + * @param message Plain 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 ImportAdminQuotaPoliciesResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportAdminQuotaPoliciesResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse; + + /** + * Creates a plain object from an ImportAdminQuotaPoliciesResponse message. Also converts values to other types if specified. + * @param message ImportAdminQuotaPoliciesResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportAdminQuotaPoliciesResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportAdminQuotaPoliciesResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ImportAdminQuotaPoliciesMetadata. */ + interface IImportAdminQuotaPoliciesMetadata { + } + + /** Represents an ImportAdminQuotaPoliciesMetadata. */ + class ImportAdminQuotaPoliciesMetadata implements IImportAdminQuotaPoliciesMetadata { + + /** + * Constructs a new ImportAdminQuotaPoliciesMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata); + + /** + * Creates a new ImportAdminQuotaPoliciesMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns ImportAdminQuotaPoliciesMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata): google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata; + + /** + * Encodes the specified ImportAdminQuotaPoliciesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata.verify|verify} messages. + * @param message ImportAdminQuotaPoliciesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ImportAdminQuotaPoliciesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata.verify|verify} messages. + * @param message ImportAdminQuotaPoliciesMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ImportAdminQuotaPoliciesMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ImportAdminQuotaPoliciesMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata; + + /** + * Decodes an ImportAdminQuotaPoliciesMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ImportAdminQuotaPoliciesMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata; + + /** + * Verifies an ImportAdminQuotaPoliciesMetadata message. + * @param message Plain 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 ImportAdminQuotaPoliciesMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ImportAdminQuotaPoliciesMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata; + + /** + * Creates a plain object from an ImportAdminQuotaPoliciesMetadata message. Also converts values to other types if specified. + * @param message ImportAdminQuotaPoliciesMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ImportAdminQuotaPoliciesMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ImportAdminQuotaPoliciesMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CreateAdminQuotaPolicyMetadata. */ + interface ICreateAdminQuotaPolicyMetadata { + } + + /** Represents a CreateAdminQuotaPolicyMetadata. */ + class CreateAdminQuotaPolicyMetadata implements ICreateAdminQuotaPolicyMetadata { + + /** + * Constructs a new CreateAdminQuotaPolicyMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata); + + /** + * Creates a new CreateAdminQuotaPolicyMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns CreateAdminQuotaPolicyMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata): google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata; + + /** + * Encodes the specified CreateAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message CreateAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CreateAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message CreateAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CreateAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CreateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata; + + /** + * Decodes a CreateAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CreateAdminQuotaPolicyMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata; + + /** + * Verifies a CreateAdminQuotaPolicyMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CreateAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CreateAdminQuotaPolicyMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata; + + /** + * Creates a plain object from a CreateAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @param message CreateAdminQuotaPolicyMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CreateAdminQuotaPolicyMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CreateAdminQuotaPolicyMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateAdminQuotaPolicyMetadata. */ + interface IUpdateAdminQuotaPolicyMetadata { + } + + /** Represents an UpdateAdminQuotaPolicyMetadata. */ + class UpdateAdminQuotaPolicyMetadata implements IUpdateAdminQuotaPolicyMetadata { + + /** + * Constructs a new UpdateAdminQuotaPolicyMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata); + + /** + * Creates a new UpdateAdminQuotaPolicyMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateAdminQuotaPolicyMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata): google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata; + + /** + * Encodes the specified UpdateAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message UpdateAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message UpdateAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata; + + /** + * Decodes an UpdateAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateAdminQuotaPolicyMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata; + + /** + * Verifies an UpdateAdminQuotaPolicyMetadata message. + * @param message Plain 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 UpdateAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateAdminQuotaPolicyMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata; + + /** + * Creates a plain object from an UpdateAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @param message UpdateAdminQuotaPolicyMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateAdminQuotaPolicyMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateAdminQuotaPolicyMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteAdminQuotaPolicyMetadata. */ + interface IDeleteAdminQuotaPolicyMetadata { + } + + /** Represents a DeleteAdminQuotaPolicyMetadata. */ + class DeleteAdminQuotaPolicyMetadata implements IDeleteAdminQuotaPolicyMetadata { + + /** + * Constructs a new DeleteAdminQuotaPolicyMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata); + + /** + * Creates a new DeleteAdminQuotaPolicyMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteAdminQuotaPolicyMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata): google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata; + + /** + * Encodes the specified DeleteAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message DeleteAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata.verify|verify} messages. + * @param message DeleteAdminQuotaPolicyMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata; + + /** + * Decodes a DeleteAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteAdminQuotaPolicyMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata; + + /** + * Verifies a DeleteAdminQuotaPolicyMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteAdminQuotaPolicyMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata; + + /** + * Creates a plain object from a DeleteAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @param message DeleteAdminQuotaPolicyMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteAdminQuotaPolicyMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteAdminQuotaPolicyMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GenerateServiceIdentityRequest. */ + interface IGenerateServiceIdentityRequest { + + /** GenerateServiceIdentityRequest parent */ + parent?: (string|null); + } + + /** Represents a GenerateServiceIdentityRequest. */ + class GenerateServiceIdentityRequest implements IGenerateServiceIdentityRequest { + + /** + * Constructs a new GenerateServiceIdentityRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest); + + /** GenerateServiceIdentityRequest parent. */ + public parent: string; + + /** + * Creates a new GenerateServiceIdentityRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GenerateServiceIdentityRequest instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest): google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest; + + /** + * Encodes the specified GenerateServiceIdentityRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest.verify|verify} messages. + * @param message GenerateServiceIdentityRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GenerateServiceIdentityRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest.verify|verify} messages. + * @param message GenerateServiceIdentityRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest; + + /** + * Verifies a GenerateServiceIdentityRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GenerateServiceIdentityRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GenerateServiceIdentityRequest + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest; + + /** + * Creates a plain object from a GenerateServiceIdentityRequest message. Also converts values to other types if specified. + * @param message GenerateServiceIdentityRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GenerateServiceIdentityRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GenerateServiceIdentityRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetServiceIdentityResponse. */ + interface IGetServiceIdentityResponse { + + /** GetServiceIdentityResponse identity */ + identity?: (google.api.serviceusage.v1beta1.IServiceIdentity|null); + + /** GetServiceIdentityResponse state */ + state?: (google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState|keyof typeof google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState|null); + } + + /** Represents a GetServiceIdentityResponse. */ + class GetServiceIdentityResponse implements IGetServiceIdentityResponse { + + /** + * Constructs a new GetServiceIdentityResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGetServiceIdentityResponse); + + /** GetServiceIdentityResponse identity. */ + public identity?: (google.api.serviceusage.v1beta1.IServiceIdentity|null); + + /** GetServiceIdentityResponse state. */ + public state: (google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState|keyof typeof google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState); + + /** + * Creates a new GetServiceIdentityResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns GetServiceIdentityResponse instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGetServiceIdentityResponse): google.api.serviceusage.v1beta1.GetServiceIdentityResponse; + + /** + * Encodes the specified GetServiceIdentityResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityResponse.verify|verify} messages. + * @param message GetServiceIdentityResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGetServiceIdentityResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetServiceIdentityResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityResponse.verify|verify} messages. + * @param message GetServiceIdentityResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGetServiceIdentityResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetServiceIdentityResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetServiceIdentityResponse + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.GetServiceIdentityResponse; + + /** + * Decodes a GetServiceIdentityResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetServiceIdentityResponse + * @throws {Error} If the payload 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.serviceusage.v1beta1.GetServiceIdentityResponse; + + /** + * Verifies a GetServiceIdentityResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetServiceIdentityResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetServiceIdentityResponse + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GetServiceIdentityResponse; + + /** + * Creates a plain object from a GetServiceIdentityResponse message. Also converts values to other types if specified. + * @param message GetServiceIdentityResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GetServiceIdentityResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetServiceIdentityResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetServiceIdentityResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GetServiceIdentityResponse { + + /** IdentityState enum. */ + enum IdentityState { + IDENTITY_STATE_UNSPECIFIED = 0, + ACTIVE = 1 + } + } + + /** Properties of a GetServiceIdentityMetadata. */ + interface IGetServiceIdentityMetadata { + } + + /** Represents a GetServiceIdentityMetadata. */ + class GetServiceIdentityMetadata implements IGetServiceIdentityMetadata { + + /** + * Constructs a new GetServiceIdentityMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata); + + /** + * Creates a new GetServiceIdentityMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns GetServiceIdentityMetadata instance + */ + public static create(properties?: google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata): google.api.serviceusage.v1beta1.GetServiceIdentityMetadata; + + /** + * Encodes the specified GetServiceIdentityMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityMetadata.verify|verify} messages. + * @param message GetServiceIdentityMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetServiceIdentityMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityMetadata.verify|verify} messages. + * @param message GetServiceIdentityMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetServiceIdentityMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetServiceIdentityMetadata + * @throws {Error} If the payload is not 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.serviceusage.v1beta1.GetServiceIdentityMetadata; + + /** + * Decodes a GetServiceIdentityMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetServiceIdentityMetadata + * @throws {Error} If the payload 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.serviceusage.v1beta1.GetServiceIdentityMetadata; + + /** + * Verifies a GetServiceIdentityMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetServiceIdentityMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetServiceIdentityMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.serviceusage.v1beta1.GetServiceIdentityMetadata; + + /** + * Creates a plain object from a GetServiceIdentityMetadata message. Also converts values to other types if specified. + * @param message GetServiceIdentityMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.serviceusage.v1beta1.GetServiceIdentityMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetServiceIdentityMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetServiceIdentityMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + } + + /** Properties of an Authentication. */ + interface IAuthentication { + + /** Authentication rules */ + rules?: (google.api.IAuthenticationRule[]|null); + + /** Authentication providers */ + providers?: (google.api.IAuthProvider[]|null); + } + + /** Represents an Authentication. */ + class Authentication implements IAuthentication { + + /** + * Constructs a new Authentication. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IAuthentication); + + /** Authentication rules. */ + public rules: google.api.IAuthenticationRule[]; + + /** Authentication providers. */ + public providers: google.api.IAuthProvider[]; + + /** + * Creates a new Authentication instance using the specified properties. + * @param [properties] Properties to set + * @returns Authentication instance + */ + public static create(properties?: google.api.IAuthentication): google.api.Authentication; + + /** + * Encodes the specified Authentication message. Does not implicitly {@link google.api.Authentication.verify|verify} messages. + * @param message Authentication message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IAuthentication, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Authentication message, length delimited. Does not implicitly {@link google.api.Authentication.verify|verify} messages. + * @param message Authentication message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IAuthentication, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Authentication message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Authentication + * @throws {Error} If the payload is not 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.Authentication; + + /** + * Decodes an Authentication message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Authentication + * @throws {Error} If the payload 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.Authentication; + + /** + * Verifies an Authentication message. + * @param message Plain 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 Authentication message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Authentication + */ + public static fromObject(object: { [k: string]: any }): google.api.Authentication; + + /** + * Creates a plain object from an Authentication message. Also converts values to other types if specified. + * @param message Authentication + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Authentication, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Authentication to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Authentication + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthenticationRule. */ + interface IAuthenticationRule { + + /** AuthenticationRule selector */ + selector?: (string|null); + + /** AuthenticationRule oauth */ + oauth?: (google.api.IOAuthRequirements|null); + + /** AuthenticationRule allowWithoutCredential */ + allowWithoutCredential?: (boolean|null); + + /** AuthenticationRule requirements */ + requirements?: (google.api.IAuthRequirement[]|null); + } + + /** Represents an AuthenticationRule. */ + class AuthenticationRule implements IAuthenticationRule { + + /** + * Constructs a new AuthenticationRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IAuthenticationRule); + + /** AuthenticationRule selector. */ + public selector: string; + + /** AuthenticationRule oauth. */ + public oauth?: (google.api.IOAuthRequirements|null); + + /** AuthenticationRule allowWithoutCredential. */ + public allowWithoutCredential: boolean; + + /** AuthenticationRule requirements. */ + public requirements: google.api.IAuthRequirement[]; + + /** + * Creates a new AuthenticationRule instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthenticationRule instance + */ + public static create(properties?: google.api.IAuthenticationRule): google.api.AuthenticationRule; + + /** + * Encodes the specified AuthenticationRule message. Does not implicitly {@link google.api.AuthenticationRule.verify|verify} messages. + * @param message AuthenticationRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IAuthenticationRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthenticationRule message, length delimited. Does not implicitly {@link google.api.AuthenticationRule.verify|verify} messages. + * @param message AuthenticationRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IAuthenticationRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthenticationRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthenticationRule + * @throws {Error} If the payload is not 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.AuthenticationRule; + + /** + * Decodes an AuthenticationRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthenticationRule + * @throws {Error} If the payload 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.AuthenticationRule; + + /** + * Verifies an AuthenticationRule message. + * @param message Plain 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 AuthenticationRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthenticationRule + */ + public static fromObject(object: { [k: string]: any }): google.api.AuthenticationRule; + + /** + * Creates a plain object from an AuthenticationRule message. Also converts values to other types if specified. + * @param message AuthenticationRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.AuthenticationRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthenticationRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthenticationRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a JwtLocation. */ + interface IJwtLocation { + + /** JwtLocation header */ + header?: (string|null); + + /** JwtLocation query */ + query?: (string|null); + + /** JwtLocation valuePrefix */ + valuePrefix?: (string|null); + } + + /** Represents a JwtLocation. */ + class JwtLocation implements IJwtLocation { + + /** + * Constructs a new JwtLocation. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IJwtLocation); + + /** JwtLocation header. */ + public header?: (string|null); + + /** JwtLocation query. */ + public query?: (string|null); + + /** JwtLocation valuePrefix. */ + public valuePrefix: string; + + /** JwtLocation in. */ + public in_?: ("header"|"query"); + + /** + * Creates a new JwtLocation instance using the specified properties. + * @param [properties] Properties to set + * @returns JwtLocation instance + */ + public static create(properties?: google.api.IJwtLocation): google.api.JwtLocation; + + /** + * Encodes the specified JwtLocation message. Does not implicitly {@link google.api.JwtLocation.verify|verify} messages. + * @param message JwtLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IJwtLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified JwtLocation message, length delimited. Does not implicitly {@link google.api.JwtLocation.verify|verify} messages. + * @param message JwtLocation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IJwtLocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a JwtLocation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns JwtLocation + * @throws {Error} If the payload is not 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.JwtLocation; + + /** + * Decodes a JwtLocation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns JwtLocation + * @throws {Error} If the payload 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.JwtLocation; + + /** + * Verifies a JwtLocation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a JwtLocation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns JwtLocation + */ + public static fromObject(object: { [k: string]: any }): google.api.JwtLocation; + + /** + * Creates a plain object from a JwtLocation message. Also converts values to other types if specified. + * @param message JwtLocation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.JwtLocation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this JwtLocation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for JwtLocation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthProvider. */ + interface IAuthProvider { + + /** AuthProvider id */ + id?: (string|null); + + /** AuthProvider issuer */ + issuer?: (string|null); + + /** AuthProvider jwksUri */ + jwksUri?: (string|null); + + /** AuthProvider audiences */ + audiences?: (string|null); + + /** AuthProvider authorizationUrl */ + authorizationUrl?: (string|null); + + /** AuthProvider jwtLocations */ + jwtLocations?: (google.api.IJwtLocation[]|null); + } + + /** Represents an AuthProvider. */ + class AuthProvider implements IAuthProvider { + + /** + * Constructs a new AuthProvider. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IAuthProvider); + + /** AuthProvider id. */ + public id: string; + + /** AuthProvider issuer. */ + public issuer: string; + + /** AuthProvider jwksUri. */ + public jwksUri: string; + + /** AuthProvider audiences. */ + public audiences: string; + + /** AuthProvider authorizationUrl. */ + public authorizationUrl: string; + + /** AuthProvider jwtLocations. */ + public jwtLocations: google.api.IJwtLocation[]; + + /** + * Creates a new AuthProvider instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthProvider instance + */ + public static create(properties?: google.api.IAuthProvider): google.api.AuthProvider; + + /** + * Encodes the specified AuthProvider message. Does not implicitly {@link google.api.AuthProvider.verify|verify} messages. + * @param message AuthProvider message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IAuthProvider, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthProvider message, length delimited. Does not implicitly {@link google.api.AuthProvider.verify|verify} messages. + * @param message AuthProvider message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IAuthProvider, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthProvider message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthProvider + * @throws {Error} If the payload is not 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.AuthProvider; + + /** + * Decodes an AuthProvider message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthProvider + * @throws {Error} If the payload 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.AuthProvider; + + /** + * Verifies an AuthProvider message. + * @param message Plain 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 AuthProvider message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthProvider + */ + public static fromObject(object: { [k: string]: any }): google.api.AuthProvider; + + /** + * Creates a plain object from an AuthProvider message. Also converts values to other types if specified. + * @param message AuthProvider + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.AuthProvider, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthProvider to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthProvider + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a OAuthRequirements. */ + interface IOAuthRequirements { + + /** OAuthRequirements canonicalScopes */ + canonicalScopes?: (string|null); + } + + /** Represents a OAuthRequirements. */ + class OAuthRequirements implements IOAuthRequirements { + + /** + * Constructs a new OAuthRequirements. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IOAuthRequirements); + + /** OAuthRequirements canonicalScopes. */ + public canonicalScopes: string; + + /** + * Creates a new OAuthRequirements instance using the specified properties. + * @param [properties] Properties to set + * @returns OAuthRequirements instance + */ + public static create(properties?: google.api.IOAuthRequirements): google.api.OAuthRequirements; + + /** + * Encodes the specified OAuthRequirements message. Does not implicitly {@link google.api.OAuthRequirements.verify|verify} messages. + * @param message OAuthRequirements message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IOAuthRequirements, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OAuthRequirements message, length delimited. Does not implicitly {@link google.api.OAuthRequirements.verify|verify} messages. + * @param message OAuthRequirements message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IOAuthRequirements, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a OAuthRequirements message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OAuthRequirements + * @throws {Error} If the payload is not 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.OAuthRequirements; + + /** + * Decodes a OAuthRequirements message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OAuthRequirements + * @throws {Error} If the payload 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.OAuthRequirements; + + /** + * Verifies a OAuthRequirements message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a OAuthRequirements message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OAuthRequirements + */ + public static fromObject(object: { [k: string]: any }): google.api.OAuthRequirements; + + /** + * Creates a plain object from a OAuthRequirements message. Also converts values to other types if specified. + * @param message OAuthRequirements + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.OAuthRequirements, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OAuthRequirements to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OAuthRequirements + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthRequirement. */ + interface IAuthRequirement { + + /** AuthRequirement providerId */ + providerId?: (string|null); + + /** AuthRequirement audiences */ + audiences?: (string|null); + } + + /** Represents an AuthRequirement. */ + class AuthRequirement implements IAuthRequirement { + + /** + * Constructs a new AuthRequirement. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IAuthRequirement); + + /** AuthRequirement providerId. */ + public providerId: string; + + /** AuthRequirement audiences. */ + public audiences: string; + + /** + * Creates a new AuthRequirement instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthRequirement instance + */ + public static create(properties?: google.api.IAuthRequirement): google.api.AuthRequirement; + + /** + * Encodes the specified AuthRequirement message. Does not implicitly {@link google.api.AuthRequirement.verify|verify} messages. + * @param message AuthRequirement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IAuthRequirement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthRequirement message, length delimited. Does not implicitly {@link google.api.AuthRequirement.verify|verify} messages. + * @param message AuthRequirement message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IAuthRequirement, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthRequirement message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthRequirement + * @throws {Error} If the payload is not 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.AuthRequirement; + + /** + * Decodes an AuthRequirement message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthRequirement + * @throws {Error} If the payload 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.AuthRequirement; + + /** + * Verifies an AuthRequirement message. + * @param message Plain 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 AuthRequirement message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthRequirement + */ + public static fromObject(object: { [k: string]: any }): google.api.AuthRequirement; + + /** + * Creates a plain object from an AuthRequirement message. Also converts values to other types if specified. + * @param message AuthRequirement + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.AuthRequirement, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthRequirement to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthRequirement + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Documentation. */ + interface IDocumentation { + + /** Documentation summary */ + summary?: (string|null); + + /** Documentation pages */ + pages?: (google.api.IPage[]|null); + + /** Documentation rules */ + rules?: (google.api.IDocumentationRule[]|null); + + /** Documentation documentationRootUrl */ + documentationRootUrl?: (string|null); + + /** Documentation serviceRootUrl */ + serviceRootUrl?: (string|null); + + /** Documentation overview */ + overview?: (string|null); + } + + /** Represents a Documentation. */ + class Documentation implements IDocumentation { + + /** + * Constructs a new Documentation. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IDocumentation); + + /** Documentation summary. */ + public summary: string; + + /** Documentation pages. */ + public pages: google.api.IPage[]; + + /** Documentation rules. */ + public rules: google.api.IDocumentationRule[]; + + /** Documentation documentationRootUrl. */ + public documentationRootUrl: string; + + /** Documentation serviceRootUrl. */ + public serviceRootUrl: string; + + /** Documentation overview. */ + public overview: string; + + /** + * Creates a new Documentation instance using the specified properties. + * @param [properties] Properties to set + * @returns Documentation instance + */ + public static create(properties?: google.api.IDocumentation): google.api.Documentation; + + /** + * Encodes the specified Documentation message. Does not implicitly {@link google.api.Documentation.verify|verify} messages. + * @param message Documentation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IDocumentation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Documentation message, length delimited. Does not implicitly {@link google.api.Documentation.verify|verify} messages. + * @param message Documentation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IDocumentation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Documentation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Documentation + * @throws {Error} If the payload is not 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.Documentation; + + /** + * Decodes a Documentation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Documentation + * @throws {Error} If the payload 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.Documentation; + + /** + * Verifies a Documentation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Documentation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Documentation + */ + public static fromObject(object: { [k: string]: any }): google.api.Documentation; + + /** + * Creates a plain object from a Documentation message. Also converts values to other types if specified. + * @param message Documentation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Documentation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Documentation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Documentation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DocumentationRule. */ + interface IDocumentationRule { + + /** DocumentationRule selector */ + selector?: (string|null); + + /** DocumentationRule description */ + description?: (string|null); + + /** DocumentationRule deprecationDescription */ + deprecationDescription?: (string|null); + } + + /** Represents a DocumentationRule. */ + class DocumentationRule implements IDocumentationRule { + + /** + * Constructs a new DocumentationRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IDocumentationRule); + + /** DocumentationRule selector. */ + public selector: string; + + /** DocumentationRule description. */ + public description: string; + + /** DocumentationRule deprecationDescription. */ + public deprecationDescription: string; + + /** + * Creates a new DocumentationRule instance using the specified properties. + * @param [properties] Properties to set + * @returns DocumentationRule instance + */ + public static create(properties?: google.api.IDocumentationRule): google.api.DocumentationRule; + + /** + * Encodes the specified DocumentationRule message. Does not implicitly {@link google.api.DocumentationRule.verify|verify} messages. + * @param message DocumentationRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IDocumentationRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DocumentationRule message, length delimited. Does not implicitly {@link google.api.DocumentationRule.verify|verify} messages. + * @param message DocumentationRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IDocumentationRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DocumentationRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DocumentationRule + * @throws {Error} If the payload is not 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.DocumentationRule; + + /** + * Decodes a DocumentationRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DocumentationRule + * @throws {Error} If the payload 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.DocumentationRule; + + /** + * Verifies a DocumentationRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DocumentationRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DocumentationRule + */ + public static fromObject(object: { [k: string]: any }): google.api.DocumentationRule; + + /** + * Creates a plain object from a DocumentationRule message. Also converts values to other types if specified. + * @param message DocumentationRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.DocumentationRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DocumentationRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DocumentationRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Page. */ + interface IPage { + + /** Page name */ + name?: (string|null); + + /** Page content */ + content?: (string|null); + + /** Page subpages */ + subpages?: (google.api.IPage[]|null); + } + + /** Represents a Page. */ + class Page implements IPage { + + /** + * Constructs a new Page. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IPage); + + /** Page name. */ + public name: string; + + /** Page content. */ + public content: string; + + /** Page subpages. */ + public subpages: google.api.IPage[]; + + /** + * Creates a new Page instance using the specified properties. + * @param [properties] Properties to set + * @returns Page instance + */ + public static create(properties?: google.api.IPage): google.api.Page; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.api.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.api.Page.verify|verify} messages. + * @param message Page message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IPage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Page message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Page + * @throws {Error} If the payload is not 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.Page; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Page + * @throws {Error} If the payload 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.Page; + + /** + * Verifies a Page message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Page + */ + public static fromObject(object: { [k: string]: any }): google.api.Page; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @param message Page + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Page, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Page to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Page + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Endpoint. */ + interface IEndpoint { + + /** Endpoint name */ + name?: (string|null); + + /** Endpoint aliases */ + aliases?: (string[]|null); + + /** Endpoint target */ + target?: (string|null); + + /** Endpoint allowCors */ + allowCors?: (boolean|null); + } + + /** Represents an Endpoint. */ + class Endpoint implements IEndpoint { + + /** + * Constructs a new Endpoint. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IEndpoint); + + /** Endpoint name. */ + public name: string; + + /** Endpoint aliases. */ + public aliases: string[]; + + /** Endpoint target. */ + public target: string; + + /** Endpoint allowCors. */ + public allowCors: boolean; + + /** + * Creates a new Endpoint instance using the specified properties. + * @param [properties] Properties to set + * @returns Endpoint instance + */ + public static create(properties?: google.api.IEndpoint): google.api.Endpoint; + + /** + * Encodes the specified Endpoint message. Does not implicitly {@link google.api.Endpoint.verify|verify} messages. + * @param message Endpoint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Endpoint message, length delimited. Does not implicitly {@link google.api.Endpoint.verify|verify} messages. + * @param message Endpoint message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IEndpoint, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Endpoint message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Endpoint + * @throws {Error} If the payload is not 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.Endpoint; + + /** + * Decodes an Endpoint message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Endpoint + * @throws {Error} If the payload 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.Endpoint; + + /** + * Verifies an Endpoint message. + * @param message Plain 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 Endpoint message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Endpoint + */ + public static fromObject(object: { [k: string]: any }): google.api.Endpoint; + + /** + * Creates a plain object from an Endpoint message. Also converts values to other types if specified. + * @param message Endpoint + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Endpoint, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Endpoint to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Endpoint + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MonitoredResourceDescriptor. */ + interface IMonitoredResourceDescriptor { + + /** MonitoredResourceDescriptor name */ + name?: (string|null); + + /** MonitoredResourceDescriptor type */ + type?: (string|null); + + /** MonitoredResourceDescriptor displayName */ + displayName?: (string|null); + + /** MonitoredResourceDescriptor description */ + description?: (string|null); + + /** MonitoredResourceDescriptor labels */ + labels?: (google.api.ILabelDescriptor[]|null); + + /** MonitoredResourceDescriptor launchStage */ + launchStage?: (google.api.LaunchStage|keyof typeof google.api.LaunchStage|null); + } + + /** Represents a MonitoredResourceDescriptor. */ + class MonitoredResourceDescriptor implements IMonitoredResourceDescriptor { + + /** + * Constructs a new MonitoredResourceDescriptor. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMonitoredResourceDescriptor); + + /** MonitoredResourceDescriptor name. */ + public name: string; + + /** MonitoredResourceDescriptor type. */ + public type: string; + + /** MonitoredResourceDescriptor displayName. */ + public displayName: string; + + /** MonitoredResourceDescriptor description. */ + public description: string; + + /** MonitoredResourceDescriptor labels. */ + public labels: google.api.ILabelDescriptor[]; + + /** MonitoredResourceDescriptor launchStage. */ + public launchStage: (google.api.LaunchStage|keyof typeof google.api.LaunchStage); + + /** + * Creates a new MonitoredResourceDescriptor instance using the specified properties. + * @param [properties] Properties to set + * @returns MonitoredResourceDescriptor instance + */ + public static create(properties?: google.api.IMonitoredResourceDescriptor): google.api.MonitoredResourceDescriptor; + + /** + * Encodes the specified MonitoredResourceDescriptor message. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages. + * @param message MonitoredResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MonitoredResourceDescriptor message, length delimited. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages. + * @param message MonitoredResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMonitoredResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MonitoredResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResourceDescriptor; + + /** + * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MonitoredResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResourceDescriptor; + + /** + * Verifies a MonitoredResourceDescriptor message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MonitoredResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MonitoredResourceDescriptor + */ + public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceDescriptor; + + /** + * Creates a plain object from a MonitoredResourceDescriptor message. Also converts values to other types if specified. + * @param message MonitoredResourceDescriptor + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MonitoredResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MonitoredResourceDescriptor to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MonitoredResourceDescriptor + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MonitoredResource. */ + interface IMonitoredResource { + + /** MonitoredResource type */ + type?: (string|null); + + /** MonitoredResource labels */ + labels?: ({ [k: string]: string }|null); + } + + /** Represents a MonitoredResource. */ + class MonitoredResource implements IMonitoredResource { + + /** + * Constructs a new MonitoredResource. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMonitoredResource); + + /** MonitoredResource type. */ + public type: string; + + /** MonitoredResource labels. */ + public labels: { [k: string]: string }; + + /** + * Creates a new MonitoredResource instance using the specified properties. + * @param [properties] Properties to set + * @returns MonitoredResource instance + */ + public static create(properties?: google.api.IMonitoredResource): google.api.MonitoredResource; + + /** + * Encodes the specified MonitoredResource message. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages. + * @param message MonitoredResource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MonitoredResource message, length delimited. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages. + * @param message MonitoredResource message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMonitoredResource, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MonitoredResource message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MonitoredResource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResource; + + /** + * Decodes a MonitoredResource message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MonitoredResource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResource; + + /** + * Verifies a MonitoredResource message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MonitoredResource message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MonitoredResource + */ + public static fromObject(object: { [k: string]: any }): google.api.MonitoredResource; + + /** + * Creates a plain object from a MonitoredResource message. Also converts values to other types if specified. + * @param message MonitoredResource + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MonitoredResource, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MonitoredResource to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MonitoredResource + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MonitoredResourceMetadata. */ + interface IMonitoredResourceMetadata { + + /** MonitoredResourceMetadata systemLabels */ + systemLabels?: (google.protobuf.IStruct|null); + + /** MonitoredResourceMetadata userLabels */ + userLabels?: ({ [k: string]: string }|null); + } + + /** Represents a MonitoredResourceMetadata. */ + class MonitoredResourceMetadata implements IMonitoredResourceMetadata { + + /** + * Constructs a new MonitoredResourceMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMonitoredResourceMetadata); + + /** MonitoredResourceMetadata systemLabels. */ + public systemLabels?: (google.protobuf.IStruct|null); + + /** MonitoredResourceMetadata userLabels. */ + public userLabels: { [k: string]: string }; + + /** + * Creates a new MonitoredResourceMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns MonitoredResourceMetadata instance + */ + public static create(properties?: google.api.IMonitoredResourceMetadata): google.api.MonitoredResourceMetadata; + + /** + * Encodes the specified MonitoredResourceMetadata message. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages. + * @param message MonitoredResourceMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MonitoredResourceMetadata message, length delimited. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages. + * @param message MonitoredResourceMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMonitoredResourceMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MonitoredResourceMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MonitoredResourceMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.MonitoredResourceMetadata; + + /** + * Decodes a MonitoredResourceMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MonitoredResourceMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.MonitoredResourceMetadata; + + /** + * Verifies a MonitoredResourceMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MonitoredResourceMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MonitoredResourceMetadata + */ + public static fromObject(object: { [k: string]: any }): google.api.MonitoredResourceMetadata; + + /** + * Creates a plain object from a MonitoredResourceMetadata message. Also converts values to other types if specified. + * @param message MonitoredResourceMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MonitoredResourceMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MonitoredResourceMetadata to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MonitoredResourceMetadata + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a LabelDescriptor. */ + interface ILabelDescriptor { + + /** LabelDescriptor key */ + key?: (string|null); + + /** LabelDescriptor valueType */ + valueType?: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType|null); + + /** LabelDescriptor description */ + description?: (string|null); + } + + /** Represents a LabelDescriptor. */ + class LabelDescriptor implements ILabelDescriptor { + + /** + * Constructs a new LabelDescriptor. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ILabelDescriptor); + + /** LabelDescriptor key. */ + public key: string; + + /** LabelDescriptor valueType. */ + public valueType: (google.api.LabelDescriptor.ValueType|keyof typeof google.api.LabelDescriptor.ValueType); + + /** LabelDescriptor description. */ + public description: string; + + /** + * Creates a new LabelDescriptor instance using the specified properties. + * @param [properties] Properties to set + * @returns LabelDescriptor instance + */ + public static create(properties?: google.api.ILabelDescriptor): google.api.LabelDescriptor; + + /** + * Encodes the specified LabelDescriptor message. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages. + * @param message LabelDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified LabelDescriptor message, length delimited. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages. + * @param message LabelDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ILabelDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a LabelDescriptor message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns LabelDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.LabelDescriptor; + + /** + * Decodes a LabelDescriptor message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns LabelDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.LabelDescriptor; + + /** + * Verifies a LabelDescriptor message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a LabelDescriptor message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns LabelDescriptor + */ + public static fromObject(object: { [k: string]: any }): google.api.LabelDescriptor; + + /** + * Creates a plain object from a LabelDescriptor message. Also converts values to other types if specified. + * @param message LabelDescriptor + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.LabelDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this LabelDescriptor to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for LabelDescriptor + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace LabelDescriptor { + + /** ValueType enum. */ + enum ValueType { + STRING = 0, + BOOL = 1, + INT64 = 2 + } + } + + /** LaunchStage enum. */ + enum LaunchStage { + LAUNCH_STAGE_UNSPECIFIED = 0, + UNIMPLEMENTED = 6, + PRELAUNCH = 7, + EARLY_ACCESS = 1, + ALPHA = 2, + BETA = 3, + GA = 4, + DEPRECATED = 5 + } + + /** Properties of a Monitoring. */ + interface IMonitoring { + + /** Monitoring producerDestinations */ + producerDestinations?: (google.api.Monitoring.IMonitoringDestination[]|null); + + /** Monitoring consumerDestinations */ + consumerDestinations?: (google.api.Monitoring.IMonitoringDestination[]|null); + } + + /** Represents a Monitoring. */ + class Monitoring implements IMonitoring { + + /** + * Constructs a new Monitoring. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMonitoring); + + /** Monitoring producerDestinations. */ + public producerDestinations: google.api.Monitoring.IMonitoringDestination[]; + + /** Monitoring consumerDestinations. */ + public consumerDestinations: google.api.Monitoring.IMonitoringDestination[]; + + /** + * Creates a new Monitoring instance using the specified properties. + * @param [properties] Properties to set + * @returns Monitoring instance + */ + public static create(properties?: google.api.IMonitoring): google.api.Monitoring; + + /** + * Encodes the specified Monitoring message. Does not implicitly {@link google.api.Monitoring.verify|verify} messages. + * @param message Monitoring message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMonitoring, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Monitoring message, length delimited. Does not implicitly {@link google.api.Monitoring.verify|verify} messages. + * @param message Monitoring message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMonitoring, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Monitoring message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Monitoring + * @throws {Error} If the payload is not 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.Monitoring; + + /** + * Decodes a Monitoring message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Monitoring + * @throws {Error} If the payload 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.Monitoring; + + /** + * Verifies a Monitoring message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Monitoring message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Monitoring + */ + public static fromObject(object: { [k: string]: any }): google.api.Monitoring; + + /** + * Creates a plain object from a Monitoring message. Also converts values to other types if specified. + * @param message Monitoring + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Monitoring, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Monitoring to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Monitoring + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Monitoring { + + /** Properties of a MonitoringDestination. */ + interface IMonitoringDestination { + + /** MonitoringDestination monitoredResource */ + monitoredResource?: (string|null); + + /** MonitoringDestination metrics */ + metrics?: (string[]|null); + } + + /** Represents a MonitoringDestination. */ + class MonitoringDestination implements IMonitoringDestination { + + /** + * Constructs a new MonitoringDestination. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.Monitoring.IMonitoringDestination); + + /** MonitoringDestination monitoredResource. */ + public monitoredResource: string; + + /** MonitoringDestination metrics. */ + public metrics: string[]; + + /** + * Creates a new MonitoringDestination instance using the specified properties. + * @param [properties] Properties to set + * @returns MonitoringDestination instance + */ + public static create(properties?: google.api.Monitoring.IMonitoringDestination): google.api.Monitoring.MonitoringDestination; + + /** + * Encodes the specified MonitoringDestination message. Does not implicitly {@link google.api.Monitoring.MonitoringDestination.verify|verify} messages. + * @param message MonitoringDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.Monitoring.IMonitoringDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MonitoringDestination message, length delimited. Does not implicitly {@link google.api.Monitoring.MonitoringDestination.verify|verify} messages. + * @param message MonitoringDestination message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.Monitoring.IMonitoringDestination, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MonitoringDestination message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MonitoringDestination + * @throws {Error} If the payload is not 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.Monitoring.MonitoringDestination; + + /** + * Decodes a MonitoringDestination message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MonitoringDestination + * @throws {Error} If the payload 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.Monitoring.MonitoringDestination; + + /** + * Verifies a MonitoringDestination message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MonitoringDestination message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MonitoringDestination + */ + public static fromObject(object: { [k: string]: any }): google.api.Monitoring.MonitoringDestination; + + /** + * Creates a plain object from a MonitoringDestination message. Also converts values to other types if specified. + * @param message MonitoringDestination + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Monitoring.MonitoringDestination, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MonitoringDestination to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MonitoringDestination + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a Quota. */ + interface IQuota { + + /** Quota limits */ + limits?: (google.api.IQuotaLimit[]|null); + + /** Quota metricRules */ + metricRules?: (google.api.IMetricRule[]|null); + } + + /** Represents a Quota. */ + class Quota implements IQuota { + + /** + * Constructs a new Quota. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IQuota); + + /** Quota limits. */ + public limits: google.api.IQuotaLimit[]; + + /** Quota metricRules. */ + public metricRules: google.api.IMetricRule[]; + + /** + * Creates a new Quota instance using the specified properties. + * @param [properties] Properties to set + * @returns Quota instance + */ + public static create(properties?: google.api.IQuota): google.api.Quota; + + /** + * Encodes the specified Quota message. Does not implicitly {@link google.api.Quota.verify|verify} messages. + * @param message Quota message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IQuota, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Quota message, length delimited. Does not implicitly {@link google.api.Quota.verify|verify} messages. + * @param message Quota message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IQuota, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Quota message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Quota + * @throws {Error} If the payload is not 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.Quota; + + /** + * Decodes a Quota message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Quota + * @throws {Error} If the payload 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.Quota; + + /** + * Verifies a Quota message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Quota message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Quota + */ + public static fromObject(object: { [k: string]: any }): google.api.Quota; + + /** + * Creates a plain object from a Quota message. Also converts values to other types if specified. + * @param message Quota + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Quota, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Quota to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Quota + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MetricRule. */ + interface IMetricRule { + + /** MetricRule selector */ + selector?: (string|null); + + /** MetricRule metricCosts */ + metricCosts?: ({ [k: string]: (number|Long|string) }|null); + } + + /** Represents a MetricRule. */ + class MetricRule implements IMetricRule { + + /** + * Constructs a new MetricRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IMetricRule); + + /** MetricRule selector. */ + public selector: string; + + /** MetricRule metricCosts. */ + public metricCosts: { [k: string]: (number|Long|string) }; + + /** + * Creates a new MetricRule instance using the specified properties. + * @param [properties] Properties to set + * @returns MetricRule instance + */ + public static create(properties?: google.api.IMetricRule): google.api.MetricRule; + + /** + * Encodes the specified MetricRule message. Does not implicitly {@link google.api.MetricRule.verify|verify} messages. + * @param message MetricRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IMetricRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MetricRule message, length delimited. Does not implicitly {@link google.api.MetricRule.verify|verify} messages. + * @param message MetricRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IMetricRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MetricRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MetricRule + * @throws {Error} If the payload is not 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.MetricRule; + + /** + * Decodes a MetricRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MetricRule + * @throws {Error} If the payload 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.MetricRule; + + /** + * Verifies a MetricRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MetricRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MetricRule + */ + public static fromObject(object: { [k: string]: any }): google.api.MetricRule; + + /** + * Creates a plain object from a MetricRule message. Also converts values to other types if specified. + * @param message MetricRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.MetricRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MetricRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MetricRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a QuotaLimit. */ + interface IQuotaLimit { + + /** QuotaLimit name */ + name?: (string|null); + + /** QuotaLimit description */ + description?: (string|null); + + /** QuotaLimit defaultLimit */ + defaultLimit?: (number|Long|string|null); + + /** QuotaLimit maxLimit */ + maxLimit?: (number|Long|string|null); + + /** QuotaLimit freeTier */ + freeTier?: (number|Long|string|null); + + /** QuotaLimit duration */ + duration?: (string|null); + + /** QuotaLimit metric */ + metric?: (string|null); + + /** QuotaLimit unit */ + unit?: (string|null); + + /** QuotaLimit values */ + values?: ({ [k: string]: (number|Long|string) }|null); + + /** QuotaLimit displayName */ + displayName?: (string|null); + } + + /** Represents a QuotaLimit. */ + class QuotaLimit implements IQuotaLimit { + + /** + * Constructs a new QuotaLimit. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IQuotaLimit); + + /** QuotaLimit name. */ + public name: string; + + /** QuotaLimit description. */ + public description: string; + + /** QuotaLimit defaultLimit. */ + public defaultLimit: (number|Long|string); + + /** QuotaLimit maxLimit. */ + public maxLimit: (number|Long|string); + + /** QuotaLimit freeTier. */ + public freeTier: (number|Long|string); + + /** QuotaLimit duration. */ + public duration: string; + + /** QuotaLimit metric. */ + public metric: string; + + /** QuotaLimit unit. */ + public unit: string; + + /** QuotaLimit values. */ + public values: { [k: string]: (number|Long|string) }; + + /** QuotaLimit displayName. */ + public displayName: string; + + /** + * Creates a new QuotaLimit instance using the specified properties. + * @param [properties] Properties to set + * @returns QuotaLimit instance + */ + public static create(properties?: google.api.IQuotaLimit): google.api.QuotaLimit; + + /** + * Encodes the specified QuotaLimit message. Does not implicitly {@link google.api.QuotaLimit.verify|verify} messages. + * @param message QuotaLimit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IQuotaLimit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified QuotaLimit message, length delimited. Does not implicitly {@link google.api.QuotaLimit.verify|verify} messages. + * @param message QuotaLimit message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IQuotaLimit, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a QuotaLimit message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns QuotaLimit + * @throws {Error} If the payload is not 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.QuotaLimit; + + /** + * Decodes a QuotaLimit message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns QuotaLimit + * @throws {Error} If the payload 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.QuotaLimit; + + /** + * Verifies a QuotaLimit message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a QuotaLimit message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns QuotaLimit + */ + public static fromObject(object: { [k: string]: any }): google.api.QuotaLimit; + + /** + * Creates a plain object from a QuotaLimit message. Also converts values to other types if specified. + * @param message QuotaLimit + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.QuotaLimit, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this QuotaLimit to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for QuotaLimit + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Usage. */ + interface IUsage { + + /** Usage requirements */ + requirements?: (string[]|null); + + /** Usage rules */ + rules?: (google.api.IUsageRule[]|null); + + /** Usage producerNotificationChannel */ + producerNotificationChannel?: (string|null); + } + + /** Represents a Usage. */ + class Usage implements IUsage { + + /** + * Constructs a new Usage. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IUsage); + + /** Usage requirements. */ + public requirements: string[]; + + /** Usage rules. */ + public rules: google.api.IUsageRule[]; + + /** Usage producerNotificationChannel. */ + public producerNotificationChannel: string; + + /** + * Creates a new Usage instance using the specified properties. + * @param [properties] Properties to set + * @returns Usage instance + */ + public static create(properties?: google.api.IUsage): google.api.Usage; + + /** + * Encodes the specified Usage message. Does not implicitly {@link google.api.Usage.verify|verify} messages. + * @param message Usage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IUsage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Usage message, length delimited. Does not implicitly {@link google.api.Usage.verify|verify} messages. + * @param message Usage message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IUsage, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Usage message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Usage + * @throws {Error} If the payload is not 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.Usage; + + /** + * Decodes a Usage message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Usage + * @throws {Error} If the payload 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.Usage; + + /** + * Verifies a Usage message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Usage message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Usage + */ + public static fromObject(object: { [k: string]: any }): google.api.Usage; + + /** + * Creates a plain object from a Usage message. Also converts values to other types if specified. + * @param message Usage + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Usage, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Usage to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Usage + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a UsageRule. */ + interface IUsageRule { + + /** UsageRule selector */ + selector?: (string|null); + + /** UsageRule allowUnregisteredCalls */ + allowUnregisteredCalls?: (boolean|null); + + /** UsageRule skipServiceControl */ + skipServiceControl?: (boolean|null); + } + + /** Represents a UsageRule. */ + class UsageRule implements IUsageRule { + + /** + * Constructs a new UsageRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IUsageRule); + + /** UsageRule selector. */ + public selector: string; + + /** UsageRule allowUnregisteredCalls. */ + public allowUnregisteredCalls: boolean; + + /** UsageRule skipServiceControl. */ + public skipServiceControl: boolean; + + /** + * Creates a new UsageRule instance using the specified properties. + * @param [properties] Properties to set + * @returns UsageRule instance + */ + public static create(properties?: google.api.IUsageRule): google.api.UsageRule; + + /** + * Encodes the specified UsageRule message. Does not implicitly {@link google.api.UsageRule.verify|verify} messages. + * @param message UsageRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IUsageRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UsageRule message, length delimited. Does not implicitly {@link google.api.UsageRule.verify|verify} messages. + * @param message UsageRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IUsageRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a UsageRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UsageRule + * @throws {Error} If the payload is not 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.UsageRule; + + /** + * Decodes a UsageRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UsageRule + * @throws {Error} If the payload 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.UsageRule; + + /** + * Verifies a UsageRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a UsageRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UsageRule + */ + public static fromObject(object: { [k: string]: any }): google.api.UsageRule; + + /** + * Creates a plain object from a UsageRule message. Also converts values to other types if specified. + * @param message UsageRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.UsageRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UsageRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UsageRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Http. */ + interface IHttp { + + /** Http rules */ + rules?: (google.api.IHttpRule[]|null); + + /** Http fullyDecodeReservedExpansion */ + fullyDecodeReservedExpansion?: (boolean|null); + } + + /** Represents a Http. */ + class Http implements IHttp { + + /** + * Constructs a new Http. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttp); + + /** Http rules. */ + public rules: google.api.IHttpRule[]; + + /** Http fullyDecodeReservedExpansion. */ + public fullyDecodeReservedExpansion: boolean; + + /** + * Creates a new Http instance using the specified properties. + * @param [properties] Properties to set + * @returns Http instance + */ + public static create(properties?: google.api.IHttp): google.api.Http; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Http message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http; + + /** + * Verifies a Http message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Http + */ + public static fromObject(object: { [k: string]: any }): google.api.Http; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @param message Http + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Http to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Http + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a HttpRule. */ + interface IHttpRule { + + /** HttpRule selector */ + selector?: (string|null); + + /** HttpRule get */ + get?: (string|null); + + /** HttpRule put */ + put?: (string|null); + + /** HttpRule post */ + post?: (string|null); + + /** HttpRule delete */ + "delete"?: (string|null); + + /** HttpRule patch */ + patch?: (string|null); + + /** HttpRule custom */ + custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body */ + body?: (string|null); + + /** HttpRule responseBody */ + responseBody?: (string|null); + + /** HttpRule additionalBindings */ + additionalBindings?: (google.api.IHttpRule[]|null); + } + + /** Represents a HttpRule. */ + class HttpRule implements IHttpRule { + + /** + * Constructs a new HttpRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttpRule); + + /** HttpRule selector. */ + public selector: string; + + /** HttpRule get. */ + public get?: (string|null); + + /** HttpRule put. */ + public put?: (string|null); + + /** HttpRule post. */ + public post?: (string|null); + + /** HttpRule delete. */ + public delete?: (string|null); + + /** HttpRule patch. */ + public patch?: (string|null); + + /** HttpRule custom. */ + public custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body. */ + public body: string; + + /** HttpRule responseBody. */ + public responseBody: string; + + /** HttpRule additionalBindings. */ + public additionalBindings: google.api.IHttpRule[]; + + /** HttpRule pattern. */ + public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom"); + + /** + * Creates a new HttpRule instance using the specified properties. + * @param [properties] Properties to set + * @returns HttpRule instance + */ + public static create(properties?: google.api.IHttpRule): google.api.HttpRule; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule; + + /** + * Verifies a HttpRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HttpRule + */ + public static fromObject(object: { [k: string]: any }): google.api.HttpRule; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @param message HttpRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HttpRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HttpRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CustomHttpPattern. */ + interface ICustomHttpPattern { + + /** CustomHttpPattern kind */ + kind?: (string|null); + + /** CustomHttpPattern path */ + path?: (string|null); + } + + /** Represents a CustomHttpPattern. */ + class CustomHttpPattern implements ICustomHttpPattern { + + /** + * Constructs a new CustomHttpPattern. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICustomHttpPattern); + + /** CustomHttpPattern kind. */ + public kind: string; + + /** CustomHttpPattern path. */ + public path: string; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomHttpPattern instance + */ + public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern; + + /** + * Verifies a CustomHttpPattern message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomHttpPattern + */ + public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @param message CustomHttpPattern + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomHttpPattern to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomHttpPattern + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace longrunning. */ + namespace longrunning { + + /** Represents an Operations */ + class Operations extends $protobuf.rpc.Service { + + /** + * Constructs a new Operations service. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + */ + constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean); + + /** + * Creates new Operations service using the specified rpc implementation. + * @param rpcImpl RPC implementation + * @param [requestDelimited=false] Whether requests are length-delimited + * @param [responseDelimited=false] Whether responses are length-delimited + * @returns RPC service. Useful where requests and/or responses are streamed. + */ + public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations; + + /** + * Calls ListOperations. + * @param request ListOperationsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListOperationsResponse + */ + public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void; + + /** + * Calls ListOperations. + * @param request ListOperationsRequest message or plain object + * @returns Promise + */ + public listOperations(request: google.longrunning.IListOperationsRequest): Promise; + + /** + * Calls GetOperation. + * @param request GetOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void; + + /** + * Calls GetOperation. + * @param request GetOperationRequest message or plain object + * @returns Promise + */ + public getOperation(request: google.longrunning.IGetOperationRequest): Promise; + + /** + * Calls DeleteOperation. + * @param request DeleteOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void; + + /** + * Calls DeleteOperation. + * @param request DeleteOperationRequest message or plain object + * @returns Promise + */ + public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise; + + /** + * Calls CancelOperation. + * @param request CancelOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Empty + */ + public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void; + + /** + * Calls CancelOperation. + * @param request CancelOperationRequest message or plain object + * @returns Promise + */ + public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise; + + /** + * Calls WaitOperation. + * @param request WaitOperationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void; + + /** + * Calls WaitOperation. + * @param request WaitOperationRequest message or plain object + * @returns Promise + */ + public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise; + } + + namespace Operations { + + /** + * Callback as used by {@link google.longrunning.Operations|listOperations}. + * @param error Error, if any + * @param [response] ListOperationsResponse + */ + type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void; + + /** + * Callback as used by {@link google.longrunning.Operations|getOperation}. + * @param error Error, if any + * @param [response] Operation + */ + type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. + * @param error Error, if any + * @param [response] Empty + */ + type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. + * @param error Error, if any + * @param [response] Empty + */ + type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void; + + /** + * Callback as used by {@link google.longrunning.Operations|waitOperation}. + * @param error Error, if any + * @param [response] Operation + */ + type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + } + + /** Properties of an Operation. */ + interface IOperation { + + /** Operation name */ + name?: (string|null); + + /** Operation metadata */ + metadata?: (google.protobuf.IAny|null); + + /** Operation done */ + done?: (boolean|null); + + /** Operation error */ + error?: (google.rpc.IStatus|null); + + /** Operation response */ + response?: (google.protobuf.IAny|null); + } + + /** Represents an Operation. */ + class Operation implements IOperation { + + /** + * Constructs a new Operation. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IOperation); + + /** Operation name. */ + public name: string; + + /** Operation metadata. */ + public metadata?: (google.protobuf.IAny|null); + + /** Operation done. */ + public done: boolean; + + /** Operation error. */ + public error?: (google.rpc.IStatus|null); + + /** Operation response. */ + public response?: (google.protobuf.IAny|null); + + /** Operation result. */ + public result?: ("error"|"response"); + + /** + * Creates a new Operation instance using the specified properties. + * @param [properties] Properties to set + * @returns Operation instance + */ + public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @param message Operation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @param message Operation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation; + + /** + * Verifies an Operation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Operation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Operation + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.Operation; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @param message Operation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Operation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Operation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetOperationRequest. */ + interface IGetOperationRequest { + + /** GetOperationRequest name */ + name?: (string|null); + } + + /** Represents a GetOperationRequest. */ + class GetOperationRequest implements IGetOperationRequest { + + /** + * Constructs a new GetOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IGetOperationRequest); + + /** GetOperationRequest name. */ + public name: string; + + /** + * Creates a new GetOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetOperationRequest instance + */ + public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest; + + /** + * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @param message GetOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @param message GetOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest; + + /** + * Verifies a GetOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest; + + /** + * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified. + * @param message GetOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListOperationsRequest. */ + interface IListOperationsRequest { + + /** ListOperationsRequest name */ + name?: (string|null); + + /** ListOperationsRequest filter */ + filter?: (string|null); + + /** ListOperationsRequest pageSize */ + pageSize?: (number|null); + + /** ListOperationsRequest pageToken */ + pageToken?: (string|null); + } + + /** Represents a ListOperationsRequest. */ + class ListOperationsRequest implements IListOperationsRequest { + + /** + * Constructs a new ListOperationsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IListOperationsRequest); + + /** ListOperationsRequest name. */ + public name: string; + + /** ListOperationsRequest filter. */ + public filter: string; + + /** ListOperationsRequest pageSize. */ + public pageSize: number; + + /** ListOperationsRequest pageToken. */ + public pageToken: string; + + /** + * Creates a new ListOperationsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListOperationsRequest instance + */ + public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest; + + /** + * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @param message ListOperationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @param message ListOperationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest; + + /** + * Verifies a ListOperationsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListOperationsRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest; + + /** + * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified. + * @param message ListOperationsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListOperationsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListOperationsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListOperationsResponse. */ + interface IListOperationsResponse { + + /** ListOperationsResponse operations */ + operations?: (google.longrunning.IOperation[]|null); + + /** ListOperationsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListOperationsResponse. */ + class ListOperationsResponse implements IListOperationsResponse { + + /** + * Constructs a new ListOperationsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IListOperationsResponse); + + /** ListOperationsResponse operations. */ + public operations: google.longrunning.IOperation[]; + + /** ListOperationsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListOperationsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListOperationsResponse instance + */ + public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse; + + /** + * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @param message ListOperationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @param message ListOperationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse; + + /** + * Verifies a ListOperationsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListOperationsResponse + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse; + + /** + * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified. + * @param message ListOperationsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListOperationsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListOperationsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CancelOperationRequest. */ + interface ICancelOperationRequest { + + /** CancelOperationRequest name */ + name?: (string|null); + } + + /** Represents a CancelOperationRequest. */ + class CancelOperationRequest implements ICancelOperationRequest { + + /** + * Constructs a new CancelOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.ICancelOperationRequest); + + /** CancelOperationRequest name. */ + public name: string; + + /** + * Creates a new CancelOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns CancelOperationRequest instance + */ + public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest; + + /** + * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @param message CancelOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @param message CancelOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest; + + /** + * Verifies a CancelOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CancelOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest; + + /** + * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified. + * @param message CancelOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CancelOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CancelOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteOperationRequest. */ + interface IDeleteOperationRequest { + + /** DeleteOperationRequest name */ + name?: (string|null); + } + + /** Represents a DeleteOperationRequest. */ + class DeleteOperationRequest implements IDeleteOperationRequest { + + /** + * Constructs a new DeleteOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IDeleteOperationRequest); + + /** DeleteOperationRequest name. */ + public name: string; + + /** + * Creates a new DeleteOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteOperationRequest instance + */ + public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest; + + /** + * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @param message DeleteOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @param message DeleteOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest; + + /** + * Verifies a DeleteOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest; + + /** + * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified. + * @param message DeleteOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a WaitOperationRequest. */ + interface IWaitOperationRequest { + + /** WaitOperationRequest name */ + name?: (string|null); + + /** WaitOperationRequest timeout */ + timeout?: (google.protobuf.IDuration|null); + } + + /** Represents a WaitOperationRequest. */ + class WaitOperationRequest implements IWaitOperationRequest { + + /** + * Constructs a new WaitOperationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IWaitOperationRequest); + + /** WaitOperationRequest name. */ + public name: string; + + /** WaitOperationRequest timeout. */ + public timeout?: (google.protobuf.IDuration|null); + + /** + * Creates a new WaitOperationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns WaitOperationRequest instance + */ + public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest; + + /** + * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @param message WaitOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @param message WaitOperationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest; + + /** + * Verifies a WaitOperationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns WaitOperationRequest + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest; + + /** + * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified. + * @param message WaitOperationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this WaitOperationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for WaitOperationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationInfo. */ + interface IOperationInfo { + + /** OperationInfo responseType */ + responseType?: (string|null); + + /** OperationInfo metadataType */ + metadataType?: (string|null); + } + + /** Represents an OperationInfo. */ + class OperationInfo implements IOperationInfo { + + /** + * Constructs a new OperationInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.longrunning.IOperationInfo); + + /** OperationInfo responseType. */ + public responseType: string; + + /** OperationInfo metadataType. */ + public metadataType: string; + + /** + * Creates a new OperationInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationInfo instance + */ + public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo; + + /** + * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @param message OperationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @param message OperationInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo; + + /** + * Decodes an OperationInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo; + + /** + * Verifies an OperationInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationInfo + */ + public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo; + + /** + * Creates a plain object from an OperationInfo message. Also converts values to other types if specified. + * @param message OperationInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OperationInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OperationInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace rpc. */ + namespace rpc { + + /** Properties of a Status. */ + interface IStatus { + + /** Status code */ + code?: (number|null); + + /** Status message */ + message?: (string|null); + + /** Status details */ + details?: (google.protobuf.IAny[]|null); + } + + /** Represents a Status. */ + class Status implements IStatus { + + /** + * Constructs a new Status. + * @param [properties] Properties to set + */ + constructor(properties?: google.rpc.IStatus); + + /** Status code. */ + public code: number; + + /** Status message. */ + public message: string; + + /** Status details. */ + public details: google.protobuf.IAny[]; + + /** + * Creates a new Status instance using the specified properties. + * @param [properties] Properties to set + * @returns Status instance + */ + public static create(properties?: google.rpc.IStatus): google.rpc.Status; + + /** + * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @param message Status message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @param message Status message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Status message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status; + + /** + * Decodes a Status message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status; + + /** + * Verifies a Status message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Status message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Status + */ + public static fromObject(object: { [k: string]: any }): google.rpc.Status; + + /** + * Creates a plain object from a Status message. Also converts values to other types if specified. + * @param message Status + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Status to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Status + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } +} diff --git a/packages/google-api-serviceusage/protos/protos.js b/packages/google-api-serviceusage/protos/protos.js new file mode 100644 index 00000000000..02fe7414393 --- /dev/null +++ b/packages/google-api-serviceusage/protos/protos.js @@ -0,0 +1,40731 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +/*eslint-disable block-scoped-var, id-length, no-control-regex, no-magic-numbers, no-prototype-builtins, no-redeclare, no-shadow, no-var, sort-vars*/ +(function(global, factory) { /* global define, require, module */ + + /* AMD */ if (typeof define === 'function' && define.amd) + define(["protobufjs/minimal"], factory); + + /* CommonJS */ else if (typeof require === 'function' && typeof module === 'object' && module && module.exports) + module.exports = factory(require("google-gax/build/src/protobuf").protobufMinimal); + +})(this, function($protobuf) { + "use strict"; + + // Common aliases + var $Reader = $protobuf.Reader, $Writer = $protobuf.Writer, $util = $protobuf.util; + + // Exported root namespace + var $root = $protobuf.roots._google_cloud_service_usage_protos || ($protobuf.roots._google_cloud_service_usage_protos = {}); + + $root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.Struct = (function() { + + /** + * Properties of a Struct. + * @memberof google.protobuf + * @interface IStruct + * @property {Object.|null} [fields] Struct fields + */ + + /** + * Constructs a new Struct. + * @memberof google.protobuf + * @classdesc Represents a Struct. + * @implements IStruct + * @constructor + * @param {google.protobuf.IStruct=} [properties] Properties to set + */ + function Struct(properties) { + this.fields = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Struct fields. + * @member {Object.} fields + * @memberof google.protobuf.Struct + * @instance + */ + Struct.prototype.fields = $util.emptyObject; + + /** + * Creates a new Struct instance using the specified properties. + * @function create + * @memberof google.protobuf.Struct + * @static + * @param {google.protobuf.IStruct=} [properties] Properties to set + * @returns {google.protobuf.Struct} Struct instance + */ + Struct.create = function create(properties) { + return new Struct(properties); + }; + + /** + * Encodes the specified Struct message. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Struct + * @static + * @param {google.protobuf.IStruct} message Struct message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Struct.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.fields != null && Object.hasOwnProperty.call(message, "fields")) + for (var keys = Object.keys(message.fields), i = 0; i < keys.length; ++i) { + writer.uint32(/* id 1, wireType 2 =*/10).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]); + $root.google.protobuf.Value.encode(message.fields[keys[i]], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim().ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Struct message, length delimited. Does not implicitly {@link google.protobuf.Struct.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Struct + * @static + * @param {google.protobuf.IStruct} message Struct message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Struct.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Struct message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Struct + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Struct} Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Struct.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Struct(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (message.fields === $util.emptyObject) + message.fields = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = null; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = $root.google.protobuf.Value.decode(reader, reader.uint32()); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.fields[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Struct message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Struct + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Struct} Struct + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Struct.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Struct message. + * @function verify + * @memberof google.protobuf.Struct + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Struct.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.fields != null && message.hasOwnProperty("fields")) { + if (!$util.isObject(message.fields)) + return "fields: object expected"; + var key = Object.keys(message.fields); + for (var i = 0; i < key.length; ++i) { + var error = $root.google.protobuf.Value.verify(message.fields[key[i]]); + if (error) + return "fields." + error; + } + } + return null; + }; + + /** + * Creates a Struct message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Struct + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Struct} Struct + */ + Struct.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Struct) + return object; + var message = new $root.google.protobuf.Struct(); + if (object.fields) { + if (typeof object.fields !== "object") + throw TypeError(".google.protobuf.Struct.fields: object expected"); + message.fields = {}; + for (var keys = Object.keys(object.fields), i = 0; i < keys.length; ++i) { + if (typeof object.fields[keys[i]] !== "object") + throw TypeError(".google.protobuf.Struct.fields: object expected"); + message.fields[keys[i]] = $root.google.protobuf.Value.fromObject(object.fields[keys[i]]); + } + } + return message; + }; + + /** + * Creates a plain object from a Struct message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Struct + * @static + * @param {google.protobuf.Struct} message Struct + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Struct.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.fields = {}; + var keys2; + if (message.fields && (keys2 = Object.keys(message.fields)).length) { + object.fields = {}; + for (var j = 0; j < keys2.length; ++j) + object.fields[keys2[j]] = $root.google.protobuf.Value.toObject(message.fields[keys2[j]], options); + } + return object; + }; + + /** + * Converts this Struct to JSON. + * @function toJSON + * @memberof google.protobuf.Struct + * @instance + * @returns {Object.} JSON object + */ + Struct.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Struct + * @function getTypeUrl + * @memberof google.protobuf.Struct + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Struct.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Struct"; + }; + + return Struct; + })(); + + protobuf.Value = (function() { + + /** + * Properties of a Value. + * @memberof google.protobuf + * @interface IValue + * @property {google.protobuf.NullValue|null} [nullValue] Value nullValue + * @property {number|null} [numberValue] Value numberValue + * @property {string|null} [stringValue] Value stringValue + * @property {boolean|null} [boolValue] Value boolValue + * @property {google.protobuf.IStruct|null} [structValue] Value structValue + * @property {google.protobuf.IListValue|null} [listValue] Value listValue + */ + + /** + * Constructs a new Value. + * @memberof google.protobuf + * @classdesc Represents a Value. + * @implements IValue + * @constructor + * @param {google.protobuf.IValue=} [properties] Properties to set + */ + function Value(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Value nullValue. + * @member {google.protobuf.NullValue|null|undefined} nullValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.nullValue = null; + + /** + * Value numberValue. + * @member {number|null|undefined} numberValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.numberValue = null; + + /** + * Value stringValue. + * @member {string|null|undefined} stringValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.stringValue = null; + + /** + * Value boolValue. + * @member {boolean|null|undefined} boolValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.boolValue = null; + + /** + * Value structValue. + * @member {google.protobuf.IStruct|null|undefined} structValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.structValue = null; + + /** + * Value listValue. + * @member {google.protobuf.IListValue|null|undefined} listValue + * @memberof google.protobuf.Value + * @instance + */ + Value.prototype.listValue = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Value kind. + * @member {"nullValue"|"numberValue"|"stringValue"|"boolValue"|"structValue"|"listValue"|undefined} kind + * @memberof google.protobuf.Value + * @instance + */ + Object.defineProperty(Value.prototype, "kind", { + get: $util.oneOfGetter($oneOfFields = ["nullValue", "numberValue", "stringValue", "boolValue", "structValue", "listValue"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Value instance using the specified properties. + * @function create + * @memberof google.protobuf.Value + * @static + * @param {google.protobuf.IValue=} [properties] Properties to set + * @returns {google.protobuf.Value} Value instance + */ + Value.create = function create(properties) { + return new Value(properties); + }; + + /** + * Encodes the specified Value message. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Value + * @static + * @param {google.protobuf.IValue} message Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Value.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nullValue != null && Object.hasOwnProperty.call(message, "nullValue")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.nullValue); + if (message.numberValue != null && Object.hasOwnProperty.call(message, "numberValue")) + writer.uint32(/* id 2, wireType 1 =*/17).double(message.numberValue); + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.stringValue); + if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.boolValue); + if (message.structValue != null && Object.hasOwnProperty.call(message, "structValue")) + $root.google.protobuf.Struct.encode(message.structValue, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.listValue != null && Object.hasOwnProperty.call(message, "listValue")) + $root.google.protobuf.ListValue.encode(message.listValue, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Value message, length delimited. Does not implicitly {@link google.protobuf.Value.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Value + * @static + * @param {google.protobuf.IValue} message Value message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Value.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Value message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Value} Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Value.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Value(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.nullValue = reader.int32(); + break; + } + case 2: { + message.numberValue = reader.double(); + break; + } + case 3: { + message.stringValue = reader.string(); + break; + } + case 4: { + message.boolValue = reader.bool(); + break; + } + case 5: { + message.structValue = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + break; + } + case 6: { + message.listValue = $root.google.protobuf.ListValue.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Value message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Value + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Value} Value + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Value.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Value message. + * @function verify + * @memberof google.protobuf.Value + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Value.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.nullValue != null && message.hasOwnProperty("nullValue")) { + properties.kind = 1; + switch (message.nullValue) { + default: + return "nullValue: enum value expected"; + case 0: + break; + } + } + if (message.numberValue != null && message.hasOwnProperty("numberValue")) { + if (properties.kind === 1) + return "kind: multiple values"; + properties.kind = 1; + if (typeof message.numberValue !== "number") + return "numberValue: number expected"; + } + if (message.stringValue != null && message.hasOwnProperty("stringValue")) { + if (properties.kind === 1) + return "kind: multiple values"; + properties.kind = 1; + if (!$util.isString(message.stringValue)) + return "stringValue: string expected"; + } + if (message.boolValue != null && message.hasOwnProperty("boolValue")) { + if (properties.kind === 1) + return "kind: multiple values"; + properties.kind = 1; + if (typeof message.boolValue !== "boolean") + return "boolValue: boolean expected"; + } + if (message.structValue != null && message.hasOwnProperty("structValue")) { + if (properties.kind === 1) + return "kind: multiple values"; + properties.kind = 1; + { + var error = $root.google.protobuf.Struct.verify(message.structValue); + if (error) + return "structValue." + error; + } + } + if (message.listValue != null && message.hasOwnProperty("listValue")) { + if (properties.kind === 1) + return "kind: multiple values"; + properties.kind = 1; + { + var error = $root.google.protobuf.ListValue.verify(message.listValue); + if (error) + return "listValue." + error; + } + } + return null; + }; + + /** + * Creates a Value message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Value + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Value} Value + */ + Value.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Value) + return object; + var message = new $root.google.protobuf.Value(); + switch (object.nullValue) { + default: + if (typeof object.nullValue === "number") { + message.nullValue = object.nullValue; + break; + } + break; + case "NULL_VALUE": + case 0: + message.nullValue = 0; + break; + } + if (object.numberValue != null) + message.numberValue = Number(object.numberValue); + if (object.stringValue != null) + message.stringValue = String(object.stringValue); + if (object.boolValue != null) + message.boolValue = Boolean(object.boolValue); + if (object.structValue != null) { + if (typeof object.structValue !== "object") + throw TypeError(".google.protobuf.Value.structValue: object expected"); + message.structValue = $root.google.protobuf.Struct.fromObject(object.structValue); + } + if (object.listValue != null) { + if (typeof object.listValue !== "object") + throw TypeError(".google.protobuf.Value.listValue: object expected"); + message.listValue = $root.google.protobuf.ListValue.fromObject(object.listValue); + } + return message; + }; + + /** + * Creates a plain object from a Value message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Value + * @static + * @param {google.protobuf.Value} message Value + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Value.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (message.nullValue != null && message.hasOwnProperty("nullValue")) { + object.nullValue = options.enums === String ? $root.google.protobuf.NullValue[message.nullValue] === undefined ? message.nullValue : $root.google.protobuf.NullValue[message.nullValue] : message.nullValue; + if (options.oneofs) + object.kind = "nullValue"; + } + if (message.numberValue != null && message.hasOwnProperty("numberValue")) { + object.numberValue = options.json && !isFinite(message.numberValue) ? String(message.numberValue) : message.numberValue; + if (options.oneofs) + object.kind = "numberValue"; + } + if (message.stringValue != null && message.hasOwnProperty("stringValue")) { + object.stringValue = message.stringValue; + if (options.oneofs) + object.kind = "stringValue"; + } + if (message.boolValue != null && message.hasOwnProperty("boolValue")) { + object.boolValue = message.boolValue; + if (options.oneofs) + object.kind = "boolValue"; + } + if (message.structValue != null && message.hasOwnProperty("structValue")) { + object.structValue = $root.google.protobuf.Struct.toObject(message.structValue, options); + if (options.oneofs) + object.kind = "structValue"; + } + if (message.listValue != null && message.hasOwnProperty("listValue")) { + object.listValue = $root.google.protobuf.ListValue.toObject(message.listValue, options); + if (options.oneofs) + object.kind = "listValue"; + } + return object; + }; + + /** + * Converts this Value to JSON. + * @function toJSON + * @memberof google.protobuf.Value + * @instance + * @returns {Object.} JSON object + */ + Value.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Value + * @function getTypeUrl + * @memberof google.protobuf.Value + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Value"; + }; + + return Value; + })(); + + /** + * NullValue enum. + * @name google.protobuf.NullValue + * @enum {number} + * @property {number} NULL_VALUE=0 NULL_VALUE value + */ + protobuf.NullValue = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NULL_VALUE"] = 0; + return values; + })(); + + protobuf.ListValue = (function() { + + /** + * Properties of a ListValue. + * @memberof google.protobuf + * @interface IListValue + * @property {Array.|null} [values] ListValue values + */ + + /** + * Constructs a new ListValue. + * @memberof google.protobuf + * @classdesc Represents a ListValue. + * @implements IListValue + * @constructor + * @param {google.protobuf.IListValue=} [properties] Properties to set + */ + function ListValue(properties) { + this.values = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListValue values. + * @member {Array.} values + * @memberof google.protobuf.ListValue + * @instance + */ + ListValue.prototype.values = $util.emptyArray; + + /** + * Creates a new ListValue instance using the specified properties. + * @function create + * @memberof google.protobuf.ListValue + * @static + * @param {google.protobuf.IListValue=} [properties] Properties to set + * @returns {google.protobuf.ListValue} ListValue instance + */ + ListValue.create = function create(properties) { + return new ListValue(properties); + }; + + /** + * Encodes the specified ListValue message. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ListValue + * @static + * @param {google.protobuf.IListValue} message ListValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.values != null && message.values.length) + for (var i = 0; i < message.values.length; ++i) + $root.google.protobuf.Value.encode(message.values[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ListValue message, length delimited. Does not implicitly {@link google.protobuf.ListValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ListValue + * @static + * @param {google.protobuf.IListValue} message ListValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ListValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ListValue} ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ListValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.values && message.values.length)) + message.values = []; + message.values.push($root.google.protobuf.Value.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ListValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ListValue} ListValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListValue message. + * @function verify + * @memberof google.protobuf.ListValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.values != null && message.hasOwnProperty("values")) { + if (!Array.isArray(message.values)) + return "values: array expected"; + for (var i = 0; i < message.values.length; ++i) { + var error = $root.google.protobuf.Value.verify(message.values[i]); + if (error) + return "values." + error; + } + } + return null; + }; + + /** + * Creates a ListValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ListValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ListValue} ListValue + */ + ListValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ListValue) + return object; + var message = new $root.google.protobuf.ListValue(); + if (object.values) { + if (!Array.isArray(object.values)) + throw TypeError(".google.protobuf.ListValue.values: array expected"); + message.values = []; + for (var i = 0; i < object.values.length; ++i) { + if (typeof object.values[i] !== "object") + throw TypeError(".google.protobuf.ListValue.values: object expected"); + message.values[i] = $root.google.protobuf.Value.fromObject(object.values[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ListValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ListValue + * @static + * @param {google.protobuf.ListValue} message ListValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.values = []; + if (message.values && message.values.length) { + object.values = []; + for (var j = 0; j < message.values.length; ++j) + object.values[j] = $root.google.protobuf.Value.toObject(message.values[j], options); + } + return object; + }; + + /** + * Converts this ListValue to JSON. + * @function toJSON + * @memberof google.protobuf.ListValue + * @instance + * @returns {Object.} JSON object + */ + ListValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListValue + * @function getTypeUrl + * @memberof google.protobuf.ListValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ListValue"; + }; + + return ListValue; + })(); + + protobuf.Api = (function() { + + /** + * Properties of an Api. + * @memberof google.protobuf + * @interface IApi + * @property {string|null} [name] Api name + * @property {Array.|null} [methods] Api methods + * @property {Array.|null} [options] Api options + * @property {string|null} [version] Api version + * @property {google.protobuf.ISourceContext|null} [sourceContext] Api sourceContext + * @property {Array.|null} [mixins] Api mixins + * @property {google.protobuf.Syntax|null} [syntax] Api syntax + */ + + /** + * Constructs a new Api. + * @memberof google.protobuf + * @classdesc Represents an Api. + * @implements IApi + * @constructor + * @param {google.protobuf.IApi=} [properties] Properties to set + */ + function Api(properties) { + this.methods = []; + this.options = []; + this.mixins = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Api name. + * @member {string} name + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.name = ""; + + /** + * Api methods. + * @member {Array.} methods + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.methods = $util.emptyArray; + + /** + * Api options. + * @member {Array.} options + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.options = $util.emptyArray; + + /** + * Api version. + * @member {string} version + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.version = ""; + + /** + * Api sourceContext. + * @member {google.protobuf.ISourceContext|null|undefined} sourceContext + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.sourceContext = null; + + /** + * Api mixins. + * @member {Array.} mixins + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.mixins = $util.emptyArray; + + /** + * Api syntax. + * @member {google.protobuf.Syntax} syntax + * @memberof google.protobuf.Api + * @instance + */ + Api.prototype.syntax = 0; + + /** + * Creates a new Api instance using the specified properties. + * @function create + * @memberof google.protobuf.Api + * @static + * @param {google.protobuf.IApi=} [properties] Properties to set + * @returns {google.protobuf.Api} Api instance + */ + Api.create = function create(properties) { + return new Api(properties); + }; + + /** + * Encodes the specified Api message. Does not implicitly {@link google.protobuf.Api.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Api + * @static + * @param {google.protobuf.IApi} message Api message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Api.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.methods != null && message.methods.length) + for (var i = 0; i < message.methods.length; ++i) + $root.google.protobuf.Method.encode(message.methods[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.version != null && Object.hasOwnProperty.call(message, "version")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.version); + if (message.sourceContext != null && Object.hasOwnProperty.call(message, "sourceContext")) + $root.google.protobuf.SourceContext.encode(message.sourceContext, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.mixins != null && message.mixins.length) + for (var i = 0; i < message.mixins.length; ++i) + $root.google.protobuf.Mixin.encode(message.mixins[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.syntax); + return writer; + }; + + /** + * Encodes the specified Api message, length delimited. Does not implicitly {@link google.protobuf.Api.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Api + * @static + * @param {google.protobuf.IApi} message Api message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Api.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Api message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Api + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Api} Api + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Api.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Api(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.methods && message.methods.length)) + message.methods = []; + message.methods.push($root.google.protobuf.Method.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + case 4: { + message.version = reader.string(); + break; + } + case 5: { + message.sourceContext = $root.google.protobuf.SourceContext.decode(reader, reader.uint32()); + break; + } + case 6: { + if (!(message.mixins && message.mixins.length)) + message.mixins = []; + message.mixins.push($root.google.protobuf.Mixin.decode(reader, reader.uint32())); + break; + } + case 7: { + message.syntax = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Api message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Api + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Api} Api + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Api.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Api message. + * @function verify + * @memberof google.protobuf.Api + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Api.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.methods != null && message.hasOwnProperty("methods")) { + if (!Array.isArray(message.methods)) + return "methods: array expected"; + for (var i = 0; i < message.methods.length; ++i) { + var error = $root.google.protobuf.Method.verify(message.methods[i]); + if (error) + return "methods." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + if (message.version != null && message.hasOwnProperty("version")) + if (!$util.isString(message.version)) + return "version: string expected"; + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) { + var error = $root.google.protobuf.SourceContext.verify(message.sourceContext); + if (error) + return "sourceContext." + error; + } + if (message.mixins != null && message.hasOwnProperty("mixins")) { + if (!Array.isArray(message.mixins)) + return "mixins: array expected"; + for (var i = 0; i < message.mixins.length; ++i) { + var error = $root.google.protobuf.Mixin.verify(message.mixins[i]); + if (error) + return "mixins." + error; + } + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + switch (message.syntax) { + default: + return "syntax: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates an Api message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Api + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Api} Api + */ + Api.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Api) + return object; + var message = new $root.google.protobuf.Api(); + if (object.name != null) + message.name = String(object.name); + if (object.methods) { + if (!Array.isArray(object.methods)) + throw TypeError(".google.protobuf.Api.methods: array expected"); + message.methods = []; + for (var i = 0; i < object.methods.length; ++i) { + if (typeof object.methods[i] !== "object") + throw TypeError(".google.protobuf.Api.methods: object expected"); + message.methods[i] = $root.google.protobuf.Method.fromObject(object.methods[i]); + } + } + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.Api.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.Api.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + if (object.version != null) + message.version = String(object.version); + if (object.sourceContext != null) { + if (typeof object.sourceContext !== "object") + throw TypeError(".google.protobuf.Api.sourceContext: object expected"); + message.sourceContext = $root.google.protobuf.SourceContext.fromObject(object.sourceContext); + } + if (object.mixins) { + if (!Array.isArray(object.mixins)) + throw TypeError(".google.protobuf.Api.mixins: array expected"); + message.mixins = []; + for (var i = 0; i < object.mixins.length; ++i) { + if (typeof object.mixins[i] !== "object") + throw TypeError(".google.protobuf.Api.mixins: object expected"); + message.mixins[i] = $root.google.protobuf.Mixin.fromObject(object.mixins[i]); + } + } + switch (object.syntax) { + default: + if (typeof object.syntax === "number") { + message.syntax = object.syntax; + break; + } + break; + case "SYNTAX_PROTO2": + case 0: + message.syntax = 0; + break; + case "SYNTAX_PROTO3": + case 1: + message.syntax = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from an Api message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Api + * @static + * @param {google.protobuf.Api} message Api + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Api.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.methods = []; + object.options = []; + object.mixins = []; + } + if (options.defaults) { + object.name = ""; + object.version = ""; + object.sourceContext = null; + object.syntax = options.enums === String ? "SYNTAX_PROTO2" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.methods && message.methods.length) { + object.methods = []; + for (var j = 0; j < message.methods.length; ++j) + object.methods[j] = $root.google.protobuf.Method.toObject(message.methods[j], options); + } + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + if (message.version != null && message.hasOwnProperty("version")) + object.version = message.version; + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) + object.sourceContext = $root.google.protobuf.SourceContext.toObject(message.sourceContext, options); + if (message.mixins && message.mixins.length) { + object.mixins = []; + for (var j = 0; j < message.mixins.length; ++j) + object.mixins[j] = $root.google.protobuf.Mixin.toObject(message.mixins[j], options); + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = options.enums === String ? $root.google.protobuf.Syntax[message.syntax] === undefined ? message.syntax : $root.google.protobuf.Syntax[message.syntax] : message.syntax; + return object; + }; + + /** + * Converts this Api to JSON. + * @function toJSON + * @memberof google.protobuf.Api + * @instance + * @returns {Object.} JSON object + */ + Api.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Api + * @function getTypeUrl + * @memberof google.protobuf.Api + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Api.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Api"; + }; + + return Api; + })(); + + protobuf.Method = (function() { + + /** + * Properties of a Method. + * @memberof google.protobuf + * @interface IMethod + * @property {string|null} [name] Method name + * @property {string|null} [requestTypeUrl] Method requestTypeUrl + * @property {boolean|null} [requestStreaming] Method requestStreaming + * @property {string|null} [responseTypeUrl] Method responseTypeUrl + * @property {boolean|null} [responseStreaming] Method responseStreaming + * @property {Array.|null} [options] Method options + * @property {google.protobuf.Syntax|null} [syntax] Method syntax + */ + + /** + * Constructs a new Method. + * @memberof google.protobuf + * @classdesc Represents a Method. + * @implements IMethod + * @constructor + * @param {google.protobuf.IMethod=} [properties] Properties to set + */ + function Method(properties) { + this.options = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Method name. + * @member {string} name + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.name = ""; + + /** + * Method requestTypeUrl. + * @member {string} requestTypeUrl + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.requestTypeUrl = ""; + + /** + * Method requestStreaming. + * @member {boolean} requestStreaming + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.requestStreaming = false; + + /** + * Method responseTypeUrl. + * @member {string} responseTypeUrl + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.responseTypeUrl = ""; + + /** + * Method responseStreaming. + * @member {boolean} responseStreaming + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.responseStreaming = false; + + /** + * Method options. + * @member {Array.} options + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.options = $util.emptyArray; + + /** + * Method syntax. + * @member {google.protobuf.Syntax} syntax + * @memberof google.protobuf.Method + * @instance + */ + Method.prototype.syntax = 0; + + /** + * Creates a new Method instance using the specified properties. + * @function create + * @memberof google.protobuf.Method + * @static + * @param {google.protobuf.IMethod=} [properties] Properties to set + * @returns {google.protobuf.Method} Method instance + */ + Method.create = function create(properties) { + return new Method(properties); + }; + + /** + * Encodes the specified Method message. Does not implicitly {@link google.protobuf.Method.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Method + * @static + * @param {google.protobuf.IMethod} message Method message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Method.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.requestTypeUrl != null && Object.hasOwnProperty.call(message, "requestTypeUrl")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.requestTypeUrl); + if (message.requestStreaming != null && Object.hasOwnProperty.call(message, "requestStreaming")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.requestStreaming); + if (message.responseTypeUrl != null && Object.hasOwnProperty.call(message, "responseTypeUrl")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.responseTypeUrl); + if (message.responseStreaming != null && Object.hasOwnProperty.call(message, "responseStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.responseStreaming); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.syntax); + return writer; + }; + + /** + * Encodes the specified Method message, length delimited. Does not implicitly {@link google.protobuf.Method.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Method + * @static + * @param {google.protobuf.IMethod} message Method message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Method.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Method message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Method + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Method} Method + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Method.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Method(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.requestTypeUrl = reader.string(); + break; + } + case 3: { + message.requestStreaming = reader.bool(); + break; + } + case 4: { + message.responseTypeUrl = reader.string(); + break; + } + case 5: { + message.responseStreaming = reader.bool(); + break; + } + case 6: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + case 7: { + message.syntax = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Method message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Method + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Method} Method + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Method.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Method message. + * @function verify + * @memberof google.protobuf.Method + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Method.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.requestTypeUrl != null && message.hasOwnProperty("requestTypeUrl")) + if (!$util.isString(message.requestTypeUrl)) + return "requestTypeUrl: string expected"; + if (message.requestStreaming != null && message.hasOwnProperty("requestStreaming")) + if (typeof message.requestStreaming !== "boolean") + return "requestStreaming: boolean expected"; + if (message.responseTypeUrl != null && message.hasOwnProperty("responseTypeUrl")) + if (!$util.isString(message.responseTypeUrl)) + return "responseTypeUrl: string expected"; + if (message.responseStreaming != null && message.hasOwnProperty("responseStreaming")) + if (typeof message.responseStreaming !== "boolean") + return "responseStreaming: boolean expected"; + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + switch (message.syntax) { + default: + return "syntax: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates a Method message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Method + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Method} Method + */ + Method.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Method) + return object; + var message = new $root.google.protobuf.Method(); + if (object.name != null) + message.name = String(object.name); + if (object.requestTypeUrl != null) + message.requestTypeUrl = String(object.requestTypeUrl); + if (object.requestStreaming != null) + message.requestStreaming = Boolean(object.requestStreaming); + if (object.responseTypeUrl != null) + message.responseTypeUrl = String(object.responseTypeUrl); + if (object.responseStreaming != null) + message.responseStreaming = Boolean(object.responseStreaming); + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.Method.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.Method.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + switch (object.syntax) { + default: + if (typeof object.syntax === "number") { + message.syntax = object.syntax; + break; + } + break; + case "SYNTAX_PROTO2": + case 0: + message.syntax = 0; + break; + case "SYNTAX_PROTO3": + case 1: + message.syntax = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from a Method message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Method + * @static + * @param {google.protobuf.Method} message Method + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Method.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.options = []; + if (options.defaults) { + object.name = ""; + object.requestTypeUrl = ""; + object.requestStreaming = false; + object.responseTypeUrl = ""; + object.responseStreaming = false; + object.syntax = options.enums === String ? "SYNTAX_PROTO2" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.requestTypeUrl != null && message.hasOwnProperty("requestTypeUrl")) + object.requestTypeUrl = message.requestTypeUrl; + if (message.requestStreaming != null && message.hasOwnProperty("requestStreaming")) + object.requestStreaming = message.requestStreaming; + if (message.responseTypeUrl != null && message.hasOwnProperty("responseTypeUrl")) + object.responseTypeUrl = message.responseTypeUrl; + if (message.responseStreaming != null && message.hasOwnProperty("responseStreaming")) + object.responseStreaming = message.responseStreaming; + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = options.enums === String ? $root.google.protobuf.Syntax[message.syntax] === undefined ? message.syntax : $root.google.protobuf.Syntax[message.syntax] : message.syntax; + return object; + }; + + /** + * Converts this Method to JSON. + * @function toJSON + * @memberof google.protobuf.Method + * @instance + * @returns {Object.} JSON object + */ + Method.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Method + * @function getTypeUrl + * @memberof google.protobuf.Method + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Method.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Method"; + }; + + return Method; + })(); + + protobuf.Mixin = (function() { + + /** + * Properties of a Mixin. + * @memberof google.protobuf + * @interface IMixin + * @property {string|null} [name] Mixin name + * @property {string|null} [root] Mixin root + */ + + /** + * Constructs a new Mixin. + * @memberof google.protobuf + * @classdesc Represents a Mixin. + * @implements IMixin + * @constructor + * @param {google.protobuf.IMixin=} [properties] Properties to set + */ + function Mixin(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Mixin name. + * @member {string} name + * @memberof google.protobuf.Mixin + * @instance + */ + Mixin.prototype.name = ""; + + /** + * Mixin root. + * @member {string} root + * @memberof google.protobuf.Mixin + * @instance + */ + Mixin.prototype.root = ""; + + /** + * Creates a new Mixin instance using the specified properties. + * @function create + * @memberof google.protobuf.Mixin + * @static + * @param {google.protobuf.IMixin=} [properties] Properties to set + * @returns {google.protobuf.Mixin} Mixin instance + */ + Mixin.create = function create(properties) { + return new Mixin(properties); + }; + + /** + * Encodes the specified Mixin message. Does not implicitly {@link google.protobuf.Mixin.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Mixin + * @static + * @param {google.protobuf.IMixin} message Mixin message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Mixin.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.root != null && Object.hasOwnProperty.call(message, "root")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.root); + return writer; + }; + + /** + * Encodes the specified Mixin message, length delimited. Does not implicitly {@link google.protobuf.Mixin.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Mixin + * @static + * @param {google.protobuf.IMixin} message Mixin message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Mixin.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Mixin message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Mixin + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Mixin} Mixin + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Mixin.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Mixin(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.root = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Mixin message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Mixin + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Mixin} Mixin + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Mixin.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Mixin message. + * @function verify + * @memberof google.protobuf.Mixin + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Mixin.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.root != null && message.hasOwnProperty("root")) + if (!$util.isString(message.root)) + return "root: string expected"; + return null; + }; + + /** + * Creates a Mixin message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Mixin + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Mixin} Mixin + */ + Mixin.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Mixin) + return object; + var message = new $root.google.protobuf.Mixin(); + if (object.name != null) + message.name = String(object.name); + if (object.root != null) + message.root = String(object.root); + return message; + }; + + /** + * Creates a plain object from a Mixin message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Mixin + * @static + * @param {google.protobuf.Mixin} message Mixin + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Mixin.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.root = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.root != null && message.hasOwnProperty("root")) + object.root = message.root; + return object; + }; + + /** + * Converts this Mixin to JSON. + * @function toJSON + * @memberof google.protobuf.Mixin + * @instance + * @returns {Object.} JSON object + */ + Mixin.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Mixin + * @function getTypeUrl + * @memberof google.protobuf.Mixin + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Mixin.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Mixin"; + }; + + return Mixin; + })(); + + protobuf.SourceContext = (function() { + + /** + * Properties of a SourceContext. + * @memberof google.protobuf + * @interface ISourceContext + * @property {string|null} [fileName] SourceContext fileName + */ + + /** + * Constructs a new SourceContext. + * @memberof google.protobuf + * @classdesc Represents a SourceContext. + * @implements ISourceContext + * @constructor + * @param {google.protobuf.ISourceContext=} [properties] Properties to set + */ + function SourceContext(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceContext fileName. + * @member {string} fileName + * @memberof google.protobuf.SourceContext + * @instance + */ + SourceContext.prototype.fileName = ""; + + /** + * Creates a new SourceContext instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceContext + * @static + * @param {google.protobuf.ISourceContext=} [properties] Properties to set + * @returns {google.protobuf.SourceContext} SourceContext instance + */ + SourceContext.create = function create(properties) { + return new SourceContext(properties); + }; + + /** + * Encodes the specified SourceContext message. Does not implicitly {@link google.protobuf.SourceContext.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceContext + * @static + * @param {google.protobuf.ISourceContext} message SourceContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceContext.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.fileName != null && Object.hasOwnProperty.call(message, "fileName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.fileName); + return writer; + }; + + /** + * Encodes the specified SourceContext message, length delimited. Does not implicitly {@link google.protobuf.SourceContext.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceContext + * @static + * @param {google.protobuf.ISourceContext} message SourceContext message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceContext.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceContext message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceContext} SourceContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceContext.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceContext(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.fileName = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceContext message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceContext + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceContext} SourceContext + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceContext.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceContext message. + * @function verify + * @memberof google.protobuf.SourceContext + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceContext.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.fileName != null && message.hasOwnProperty("fileName")) + if (!$util.isString(message.fileName)) + return "fileName: string expected"; + return null; + }; + + /** + * Creates a SourceContext message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceContext + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceContext} SourceContext + */ + SourceContext.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceContext) + return object; + var message = new $root.google.protobuf.SourceContext(); + if (object.fileName != null) + message.fileName = String(object.fileName); + return message; + }; + + /** + * Creates a plain object from a SourceContext message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceContext + * @static + * @param {google.protobuf.SourceContext} message SourceContext + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceContext.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.fileName = ""; + if (message.fileName != null && message.hasOwnProperty("fileName")) + object.fileName = message.fileName; + return object; + }; + + /** + * Converts this SourceContext to JSON. + * @function toJSON + * @memberof google.protobuf.SourceContext + * @instance + * @returns {Object.} JSON object + */ + SourceContext.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SourceContext + * @function getTypeUrl + * @memberof google.protobuf.SourceContext + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SourceContext.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceContext"; + }; + + return SourceContext; + })(); + + protobuf.Type = (function() { + + /** + * Properties of a Type. + * @memberof google.protobuf + * @interface IType + * @property {string|null} [name] Type name + * @property {Array.|null} [fields] Type fields + * @property {Array.|null} [oneofs] Type oneofs + * @property {Array.|null} [options] Type options + * @property {google.protobuf.ISourceContext|null} [sourceContext] Type sourceContext + * @property {google.protobuf.Syntax|null} [syntax] Type syntax + */ + + /** + * Constructs a new Type. + * @memberof google.protobuf + * @classdesc Represents a Type. + * @implements IType + * @constructor + * @param {google.protobuf.IType=} [properties] Properties to set + */ + function Type(properties) { + this.fields = []; + this.oneofs = []; + this.options = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Type name. + * @member {string} name + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.name = ""; + + /** + * Type fields. + * @member {Array.} fields + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.fields = $util.emptyArray; + + /** + * Type oneofs. + * @member {Array.} oneofs + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.oneofs = $util.emptyArray; + + /** + * Type options. + * @member {Array.} options + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.options = $util.emptyArray; + + /** + * Type sourceContext. + * @member {google.protobuf.ISourceContext|null|undefined} sourceContext + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.sourceContext = null; + + /** + * Type syntax. + * @member {google.protobuf.Syntax} syntax + * @memberof google.protobuf.Type + * @instance + */ + Type.prototype.syntax = 0; + + /** + * Creates a new Type instance using the specified properties. + * @function create + * @memberof google.protobuf.Type + * @static + * @param {google.protobuf.IType=} [properties] Properties to set + * @returns {google.protobuf.Type} Type instance + */ + Type.create = function create(properties) { + return new Type(properties); + }; + + /** + * Encodes the specified Type message. Does not implicitly {@link google.protobuf.Type.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Type + * @static + * @param {google.protobuf.IType} message Type message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Type.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.fields != null && message.fields.length) + for (var i = 0; i < message.fields.length; ++i) + $root.google.protobuf.Field.encode(message.fields[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.oneofs != null && message.oneofs.length) + for (var i = 0; i < message.oneofs.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.oneofs[i]); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.sourceContext != null && Object.hasOwnProperty.call(message, "sourceContext")) + $root.google.protobuf.SourceContext.encode(message.sourceContext, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.syntax); + return writer; + }; + + /** + * Encodes the specified Type message, length delimited. Does not implicitly {@link google.protobuf.Type.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Type + * @static + * @param {google.protobuf.IType} message Type message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Type.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Type message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Type + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Type} Type + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Type.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Type(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.fields && message.fields.length)) + message.fields = []; + message.fields.push($root.google.protobuf.Field.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.oneofs && message.oneofs.length)) + message.oneofs = []; + message.oneofs.push(reader.string()); + break; + } + case 4: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + case 5: { + message.sourceContext = $root.google.protobuf.SourceContext.decode(reader, reader.uint32()); + break; + } + case 6: { + message.syntax = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Type message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Type + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Type} Type + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Type.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Type message. + * @function verify + * @memberof google.protobuf.Type + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Type.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.fields != null && message.hasOwnProperty("fields")) { + if (!Array.isArray(message.fields)) + return "fields: array expected"; + for (var i = 0; i < message.fields.length; ++i) { + var error = $root.google.protobuf.Field.verify(message.fields[i]); + if (error) + return "fields." + error; + } + } + if (message.oneofs != null && message.hasOwnProperty("oneofs")) { + if (!Array.isArray(message.oneofs)) + return "oneofs: array expected"; + for (var i = 0; i < message.oneofs.length; ++i) + if (!$util.isString(message.oneofs[i])) + return "oneofs: string[] expected"; + } + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) { + var error = $root.google.protobuf.SourceContext.verify(message.sourceContext); + if (error) + return "sourceContext." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + switch (message.syntax) { + default: + return "syntax: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates a Type message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Type + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Type} Type + */ + Type.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Type) + return object; + var message = new $root.google.protobuf.Type(); + if (object.name != null) + message.name = String(object.name); + if (object.fields) { + if (!Array.isArray(object.fields)) + throw TypeError(".google.protobuf.Type.fields: array expected"); + message.fields = []; + for (var i = 0; i < object.fields.length; ++i) { + if (typeof object.fields[i] !== "object") + throw TypeError(".google.protobuf.Type.fields: object expected"); + message.fields[i] = $root.google.protobuf.Field.fromObject(object.fields[i]); + } + } + if (object.oneofs) { + if (!Array.isArray(object.oneofs)) + throw TypeError(".google.protobuf.Type.oneofs: array expected"); + message.oneofs = []; + for (var i = 0; i < object.oneofs.length; ++i) + message.oneofs[i] = String(object.oneofs[i]); + } + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.Type.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.Type.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + if (object.sourceContext != null) { + if (typeof object.sourceContext !== "object") + throw TypeError(".google.protobuf.Type.sourceContext: object expected"); + message.sourceContext = $root.google.protobuf.SourceContext.fromObject(object.sourceContext); + } + switch (object.syntax) { + default: + if (typeof object.syntax === "number") { + message.syntax = object.syntax; + break; + } + break; + case "SYNTAX_PROTO2": + case 0: + message.syntax = 0; + break; + case "SYNTAX_PROTO3": + case 1: + message.syntax = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from a Type message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Type + * @static + * @param {google.protobuf.Type} message Type + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Type.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.fields = []; + object.oneofs = []; + object.options = []; + } + if (options.defaults) { + object.name = ""; + object.sourceContext = null; + object.syntax = options.enums === String ? "SYNTAX_PROTO2" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.fields && message.fields.length) { + object.fields = []; + for (var j = 0; j < message.fields.length; ++j) + object.fields[j] = $root.google.protobuf.Field.toObject(message.fields[j], options); + } + if (message.oneofs && message.oneofs.length) { + object.oneofs = []; + for (var j = 0; j < message.oneofs.length; ++j) + object.oneofs[j] = message.oneofs[j]; + } + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) + object.sourceContext = $root.google.protobuf.SourceContext.toObject(message.sourceContext, options); + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = options.enums === String ? $root.google.protobuf.Syntax[message.syntax] === undefined ? message.syntax : $root.google.protobuf.Syntax[message.syntax] : message.syntax; + return object; + }; + + /** + * Converts this Type to JSON. + * @function toJSON + * @memberof google.protobuf.Type + * @instance + * @returns {Object.} JSON object + */ + Type.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Type + * @function getTypeUrl + * @memberof google.protobuf.Type + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Type.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Type"; + }; + + return Type; + })(); + + protobuf.Field = (function() { + + /** + * Properties of a Field. + * @memberof google.protobuf + * @interface IField + * @property {google.protobuf.Field.Kind|null} [kind] Field kind + * @property {google.protobuf.Field.Cardinality|null} [cardinality] Field cardinality + * @property {number|null} [number] Field number + * @property {string|null} [name] Field name + * @property {string|null} [typeUrl] Field typeUrl + * @property {number|null} [oneofIndex] Field oneofIndex + * @property {boolean|null} [packed] Field packed + * @property {Array.|null} [options] Field options + * @property {string|null} [jsonName] Field jsonName + * @property {string|null} [defaultValue] Field defaultValue + */ + + /** + * Constructs a new Field. + * @memberof google.protobuf + * @classdesc Represents a Field. + * @implements IField + * @constructor + * @param {google.protobuf.IField=} [properties] Properties to set + */ + function Field(properties) { + this.options = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Field kind. + * @member {google.protobuf.Field.Kind} kind + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.kind = 0; + + /** + * Field cardinality. + * @member {google.protobuf.Field.Cardinality} cardinality + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.cardinality = 0; + + /** + * Field number. + * @member {number} number + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.number = 0; + + /** + * Field name. + * @member {string} name + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.name = ""; + + /** + * Field typeUrl. + * @member {string} typeUrl + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.typeUrl = ""; + + /** + * Field oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.oneofIndex = 0; + + /** + * Field packed. + * @member {boolean} packed + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.packed = false; + + /** + * Field options. + * @member {Array.} options + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.options = $util.emptyArray; + + /** + * Field jsonName. + * @member {string} jsonName + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.jsonName = ""; + + /** + * Field defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.Field + * @instance + */ + Field.prototype.defaultValue = ""; + + /** + * Creates a new Field instance using the specified properties. + * @function create + * @memberof google.protobuf.Field + * @static + * @param {google.protobuf.IField=} [properties] Properties to set + * @returns {google.protobuf.Field} Field instance + */ + Field.create = function create(properties) { + return new Field(properties); + }; + + /** + * Encodes the specified Field message. Does not implicitly {@link google.protobuf.Field.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Field + * @static + * @param {google.protobuf.IField} message Field message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Field.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.kind); + if (message.cardinality != null && Object.hasOwnProperty.call(message, "cardinality")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.cardinality); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); + if (message.typeUrl != null && Object.hasOwnProperty.call(message, "typeUrl")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeUrl); + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.oneofIndex); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 8, wireType 0 =*/64).bool(message.packed); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.defaultValue); + return writer; + }; + + /** + * Encodes the specified Field message, length delimited. Does not implicitly {@link google.protobuf.Field.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Field + * @static + * @param {google.protobuf.IField} message Field message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Field.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Field message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Field + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Field} Field + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Field.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Field(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.kind = reader.int32(); + break; + } + case 2: { + message.cardinality = reader.int32(); + break; + } + case 3: { + message.number = reader.int32(); + break; + } + case 4: { + message.name = reader.string(); + break; + } + case 6: { + message.typeUrl = reader.string(); + break; + } + case 7: { + message.oneofIndex = reader.int32(); + break; + } + case 8: { + message.packed = reader.bool(); + break; + } + case 9: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + case 10: { + message.jsonName = reader.string(); + break; + } + case 11: { + message.defaultValue = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Field message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Field + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Field} Field + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Field.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Field message. + * @function verify + * @memberof google.protobuf.Field + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Field.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.kind != null && message.hasOwnProperty("kind")) + switch (message.kind) { + default: + return "kind: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.cardinality != null && message.hasOwnProperty("cardinality")) + switch (message.cardinality) { + default: + return "cardinality: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.typeUrl != null && message.hasOwnProperty("typeUrl")) + if (!$util.isString(message.typeUrl)) + return "typeUrl: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + return null; + }; + + /** + * Creates a Field message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Field + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Field} Field + */ + Field.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Field) + return object; + var message = new $root.google.protobuf.Field(); + switch (object.kind) { + default: + if (typeof object.kind === "number") { + message.kind = object.kind; + break; + } + break; + case "TYPE_UNKNOWN": + case 0: + message.kind = 0; + break; + case "TYPE_DOUBLE": + case 1: + message.kind = 1; + break; + case "TYPE_FLOAT": + case 2: + message.kind = 2; + break; + case "TYPE_INT64": + case 3: + message.kind = 3; + break; + case "TYPE_UINT64": + case 4: + message.kind = 4; + break; + case "TYPE_INT32": + case 5: + message.kind = 5; + break; + case "TYPE_FIXED64": + case 6: + message.kind = 6; + break; + case "TYPE_FIXED32": + case 7: + message.kind = 7; + break; + case "TYPE_BOOL": + case 8: + message.kind = 8; + break; + case "TYPE_STRING": + case 9: + message.kind = 9; + break; + case "TYPE_GROUP": + case 10: + message.kind = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.kind = 11; + break; + case "TYPE_BYTES": + case 12: + message.kind = 12; + break; + case "TYPE_UINT32": + case 13: + message.kind = 13; + break; + case "TYPE_ENUM": + case 14: + message.kind = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.kind = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.kind = 16; + break; + case "TYPE_SINT32": + case 17: + message.kind = 17; + break; + case "TYPE_SINT64": + case 18: + message.kind = 18; + break; + } + switch (object.cardinality) { + default: + if (typeof object.cardinality === "number") { + message.cardinality = object.cardinality; + break; + } + break; + case "CARDINALITY_UNKNOWN": + case 0: + message.cardinality = 0; + break; + case "CARDINALITY_OPTIONAL": + case 1: + message.cardinality = 1; + break; + case "CARDINALITY_REQUIRED": + case 2: + message.cardinality = 2; + break; + case "CARDINALITY_REPEATED": + case 3: + message.cardinality = 3; + break; + } + if (object.number != null) + message.number = object.number | 0; + if (object.name != null) + message.name = String(object.name); + if (object.typeUrl != null) + message.typeUrl = String(object.typeUrl); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.packed != null) + message.packed = Boolean(object.packed); + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.Field.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.Field.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + return message; + }; + + /** + * Creates a plain object from a Field message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Field + * @static + * @param {google.protobuf.Field} message Field + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Field.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.options = []; + if (options.defaults) { + object.kind = options.enums === String ? "TYPE_UNKNOWN" : 0; + object.cardinality = options.enums === String ? "CARDINALITY_UNKNOWN" : 0; + object.number = 0; + object.name = ""; + object.typeUrl = ""; + object.oneofIndex = 0; + object.packed = false; + object.jsonName = ""; + object.defaultValue = ""; + } + if (message.kind != null && message.hasOwnProperty("kind")) + object.kind = options.enums === String ? $root.google.protobuf.Field.Kind[message.kind] === undefined ? message.kind : $root.google.protobuf.Field.Kind[message.kind] : message.kind; + if (message.cardinality != null && message.hasOwnProperty("cardinality")) + object.cardinality = options.enums === String ? $root.google.protobuf.Field.Cardinality[message.cardinality] === undefined ? message.cardinality : $root.google.protobuf.Field.Cardinality[message.cardinality] : message.cardinality; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.typeUrl != null && message.hasOwnProperty("typeUrl")) + object.typeUrl = message.typeUrl; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + return object; + }; + + /** + * Converts this Field to JSON. + * @function toJSON + * @memberof google.protobuf.Field + * @instance + * @returns {Object.} JSON object + */ + Field.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Field + * @function getTypeUrl + * @memberof google.protobuf.Field + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Field.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Field"; + }; + + /** + * Kind enum. + * @name google.protobuf.Field.Kind + * @enum {number} + * @property {number} TYPE_UNKNOWN=0 TYPE_UNKNOWN value + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + Field.Kind = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TYPE_UNKNOWN"] = 0; + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Cardinality enum. + * @name google.protobuf.Field.Cardinality + * @enum {number} + * @property {number} CARDINALITY_UNKNOWN=0 CARDINALITY_UNKNOWN value + * @property {number} CARDINALITY_OPTIONAL=1 CARDINALITY_OPTIONAL value + * @property {number} CARDINALITY_REQUIRED=2 CARDINALITY_REQUIRED value + * @property {number} CARDINALITY_REPEATED=3 CARDINALITY_REPEATED value + */ + Field.Cardinality = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CARDINALITY_UNKNOWN"] = 0; + values[valuesById[1] = "CARDINALITY_OPTIONAL"] = 1; + values[valuesById[2] = "CARDINALITY_REQUIRED"] = 2; + values[valuesById[3] = "CARDINALITY_REPEATED"] = 3; + return values; + })(); + + return Field; + })(); + + protobuf.Enum = (function() { + + /** + * Properties of an Enum. + * @memberof google.protobuf + * @interface IEnum + * @property {string|null} [name] Enum name + * @property {Array.|null} [enumvalue] Enum enumvalue + * @property {Array.|null} [options] Enum options + * @property {google.protobuf.ISourceContext|null} [sourceContext] Enum sourceContext + * @property {google.protobuf.Syntax|null} [syntax] Enum syntax + */ + + /** + * Constructs a new Enum. + * @memberof google.protobuf + * @classdesc Represents an Enum. + * @implements IEnum + * @constructor + * @param {google.protobuf.IEnum=} [properties] Properties to set + */ + function Enum(properties) { + this.enumvalue = []; + this.options = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Enum name. + * @member {string} name + * @memberof google.protobuf.Enum + * @instance + */ + Enum.prototype.name = ""; + + /** + * Enum enumvalue. + * @member {Array.} enumvalue + * @memberof google.protobuf.Enum + * @instance + */ + Enum.prototype.enumvalue = $util.emptyArray; + + /** + * Enum options. + * @member {Array.} options + * @memberof google.protobuf.Enum + * @instance + */ + Enum.prototype.options = $util.emptyArray; + + /** + * Enum sourceContext. + * @member {google.protobuf.ISourceContext|null|undefined} sourceContext + * @memberof google.protobuf.Enum + * @instance + */ + Enum.prototype.sourceContext = null; + + /** + * Enum syntax. + * @member {google.protobuf.Syntax} syntax + * @memberof google.protobuf.Enum + * @instance + */ + Enum.prototype.syntax = 0; + + /** + * Creates a new Enum instance using the specified properties. + * @function create + * @memberof google.protobuf.Enum + * @static + * @param {google.protobuf.IEnum=} [properties] Properties to set + * @returns {google.protobuf.Enum} Enum instance + */ + Enum.create = function create(properties) { + return new Enum(properties); + }; + + /** + * Encodes the specified Enum message. Does not implicitly {@link google.protobuf.Enum.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Enum + * @static + * @param {google.protobuf.IEnum} message Enum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Enum.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.enumvalue != null && message.enumvalue.length) + for (var i = 0; i < message.enumvalue.length; ++i) + $root.google.protobuf.EnumValue.encode(message.enumvalue[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.sourceContext != null && Object.hasOwnProperty.call(message, "sourceContext")) + $root.google.protobuf.SourceContext.encode(message.sourceContext, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.syntax); + return writer; + }; + + /** + * Encodes the specified Enum message, length delimited. Does not implicitly {@link google.protobuf.Enum.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Enum + * @static + * @param {google.protobuf.IEnum} message Enum message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Enum.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Enum message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Enum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Enum} Enum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Enum.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Enum(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.enumvalue && message.enumvalue.length)) + message.enumvalue = []; + message.enumvalue.push($root.google.protobuf.EnumValue.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + case 4: { + message.sourceContext = $root.google.protobuf.SourceContext.decode(reader, reader.uint32()); + break; + } + case 5: { + message.syntax = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Enum message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Enum + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Enum} Enum + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Enum.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Enum message. + * @function verify + * @memberof google.protobuf.Enum + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Enum.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.enumvalue != null && message.hasOwnProperty("enumvalue")) { + if (!Array.isArray(message.enumvalue)) + return "enumvalue: array expected"; + for (var i = 0; i < message.enumvalue.length; ++i) { + var error = $root.google.protobuf.EnumValue.verify(message.enumvalue[i]); + if (error) + return "enumvalue." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) { + var error = $root.google.protobuf.SourceContext.verify(message.sourceContext); + if (error) + return "sourceContext." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + switch (message.syntax) { + default: + return "syntax: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates an Enum message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Enum + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Enum} Enum + */ + Enum.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Enum) + return object; + var message = new $root.google.protobuf.Enum(); + if (object.name != null) + message.name = String(object.name); + if (object.enumvalue) { + if (!Array.isArray(object.enumvalue)) + throw TypeError(".google.protobuf.Enum.enumvalue: array expected"); + message.enumvalue = []; + for (var i = 0; i < object.enumvalue.length; ++i) { + if (typeof object.enumvalue[i] !== "object") + throw TypeError(".google.protobuf.Enum.enumvalue: object expected"); + message.enumvalue[i] = $root.google.protobuf.EnumValue.fromObject(object.enumvalue[i]); + } + } + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.Enum.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.Enum.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + if (object.sourceContext != null) { + if (typeof object.sourceContext !== "object") + throw TypeError(".google.protobuf.Enum.sourceContext: object expected"); + message.sourceContext = $root.google.protobuf.SourceContext.fromObject(object.sourceContext); + } + switch (object.syntax) { + default: + if (typeof object.syntax === "number") { + message.syntax = object.syntax; + break; + } + break; + case "SYNTAX_PROTO2": + case 0: + message.syntax = 0; + break; + case "SYNTAX_PROTO3": + case 1: + message.syntax = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from an Enum message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Enum + * @static + * @param {google.protobuf.Enum} message Enum + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Enum.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.enumvalue = []; + object.options = []; + } + if (options.defaults) { + object.name = ""; + object.sourceContext = null; + object.syntax = options.enums === String ? "SYNTAX_PROTO2" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.enumvalue && message.enumvalue.length) { + object.enumvalue = []; + for (var j = 0; j < message.enumvalue.length; ++j) + object.enumvalue[j] = $root.google.protobuf.EnumValue.toObject(message.enumvalue[j], options); + } + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + if (message.sourceContext != null && message.hasOwnProperty("sourceContext")) + object.sourceContext = $root.google.protobuf.SourceContext.toObject(message.sourceContext, options); + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = options.enums === String ? $root.google.protobuf.Syntax[message.syntax] === undefined ? message.syntax : $root.google.protobuf.Syntax[message.syntax] : message.syntax; + return object; + }; + + /** + * Converts this Enum to JSON. + * @function toJSON + * @memberof google.protobuf.Enum + * @instance + * @returns {Object.} JSON object + */ + Enum.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Enum + * @function getTypeUrl + * @memberof google.protobuf.Enum + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Enum.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Enum"; + }; + + return Enum; + })(); + + protobuf.EnumValue = (function() { + + /** + * Properties of an EnumValue. + * @memberof google.protobuf + * @interface IEnumValue + * @property {string|null} [name] EnumValue name + * @property {number|null} [number] EnumValue number + * @property {Array.|null} [options] EnumValue options + */ + + /** + * Constructs a new EnumValue. + * @memberof google.protobuf + * @classdesc Represents an EnumValue. + * @implements IEnumValue + * @constructor + * @param {google.protobuf.IEnumValue=} [properties] Properties to set + */ + function EnumValue(properties) { + this.options = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValue name. + * @member {string} name + * @memberof google.protobuf.EnumValue + * @instance + */ + EnumValue.prototype.name = ""; + + /** + * EnumValue number. + * @member {number} number + * @memberof google.protobuf.EnumValue + * @instance + */ + EnumValue.prototype.number = 0; + + /** + * EnumValue options. + * @member {Array.} options + * @memberof google.protobuf.EnumValue + * @instance + */ + EnumValue.prototype.options = $util.emptyArray; + + /** + * Creates a new EnumValue instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValue + * @static + * @param {google.protobuf.IEnumValue=} [properties] Properties to set + * @returns {google.protobuf.EnumValue} EnumValue instance + */ + EnumValue.create = function create(properties) { + return new EnumValue(properties); + }; + + /** + * Encodes the specified EnumValue message. Does not implicitly {@link google.protobuf.EnumValue.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValue + * @static + * @param {google.protobuf.IEnumValue} message EnumValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValue.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && message.options.length) + for (var i = 0; i < message.options.length; ++i) + $root.google.protobuf.Option.encode(message.options[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValue message, length delimited. Does not implicitly {@link google.protobuf.EnumValue.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValue + * @static + * @param {google.protobuf.IEnumValue} message EnumValue message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValue.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValue message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValue} EnumValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValue.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValue(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.number = reader.int32(); + break; + } + case 3: { + if (!(message.options && message.options.length)) + message.options = []; + message.options.push($root.google.protobuf.Option.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValue message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValue + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValue} EnumValue + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValue.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValue message. + * @function verify + * @memberof google.protobuf.EnumValue + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValue.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + if (!Array.isArray(message.options)) + return "options: array expected"; + for (var i = 0; i < message.options.length; ++i) { + var error = $root.google.protobuf.Option.verify(message.options[i]); + if (error) + return "options." + error; + } + } + return null; + }; + + /** + * Creates an EnumValue message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValue + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValue} EnumValue + */ + EnumValue.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValue) + return object; + var message = new $root.google.protobuf.EnumValue(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options) { + if (!Array.isArray(object.options)) + throw TypeError(".google.protobuf.EnumValue.options: array expected"); + message.options = []; + for (var i = 0; i < object.options.length; ++i) { + if (typeof object.options[i] !== "object") + throw TypeError(".google.protobuf.EnumValue.options: object expected"); + message.options[i] = $root.google.protobuf.Option.fromObject(object.options[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumValue message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValue + * @static + * @param {google.protobuf.EnumValue} message EnumValue + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValue.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.options = []; + if (options.defaults) { + object.name = ""; + object.number = 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options && message.options.length) { + object.options = []; + for (var j = 0; j < message.options.length; ++j) + object.options[j] = $root.google.protobuf.Option.toObject(message.options[j], options); + } + return object; + }; + + /** + * Converts this EnumValue to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValue + * @instance + * @returns {Object.} JSON object + */ + EnumValue.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumValue + * @function getTypeUrl + * @memberof google.protobuf.EnumValue + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValue.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValue"; + }; + + return EnumValue; + })(); + + protobuf.Option = (function() { + + /** + * Properties of an Option. + * @memberof google.protobuf + * @interface IOption + * @property {string|null} [name] Option name + * @property {google.protobuf.IAny|null} [value] Option value + */ + + /** + * Constructs a new Option. + * @memberof google.protobuf + * @classdesc Represents an Option. + * @implements IOption + * @constructor + * @param {google.protobuf.IOption=} [properties] Properties to set + */ + function Option(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Option name. + * @member {string} name + * @memberof google.protobuf.Option + * @instance + */ + Option.prototype.name = ""; + + /** + * Option value. + * @member {google.protobuf.IAny|null|undefined} value + * @memberof google.protobuf.Option + * @instance + */ + Option.prototype.value = null; + + /** + * Creates a new Option instance using the specified properties. + * @function create + * @memberof google.protobuf.Option + * @static + * @param {google.protobuf.IOption=} [properties] Properties to set + * @returns {google.protobuf.Option} Option instance + */ + Option.create = function create(properties) { + return new Option(properties); + }; + + /** + * Encodes the specified Option message. Does not implicitly {@link google.protobuf.Option.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Option + * @static + * @param {google.protobuf.IOption} message Option message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Option.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + $root.google.protobuf.Any.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Option message, length delimited. Does not implicitly {@link google.protobuf.Option.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Option + * @static + * @param {google.protobuf.IOption} message Option message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Option.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Option message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Option + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Option} Option + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Option.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Option(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.value = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Option message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Option + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Option} Option + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Option.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Option message. + * @function verify + * @memberof google.protobuf.Option + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Option.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + var error = $root.google.protobuf.Any.verify(message.value); + if (error) + return "value." + error; + } + return null; + }; + + /** + * Creates an Option message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Option + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Option} Option + */ + Option.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Option) + return object; + var message = new $root.google.protobuf.Option(); + if (object.name != null) + message.name = String(object.name); + if (object.value != null) { + if (typeof object.value !== "object") + throw TypeError(".google.protobuf.Option.value: object expected"); + message.value = $root.google.protobuf.Any.fromObject(object.value); + } + return message; + }; + + /** + * Creates a plain object from an Option message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Option + * @static + * @param {google.protobuf.Option} message Option + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Option.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.value = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value != null && message.hasOwnProperty("value")) + object.value = $root.google.protobuf.Any.toObject(message.value, options); + return object; + }; + + /** + * Converts this Option to JSON. + * @function toJSON + * @memberof google.protobuf.Option + * @instance + * @returns {Object.} JSON object + */ + Option.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Option + * @function getTypeUrl + * @memberof google.protobuf.Option + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Option.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Option"; + }; + + return Option; + })(); + + /** + * Syntax enum. + * @name google.protobuf.Syntax + * @enum {number} + * @property {number} SYNTAX_PROTO2=0 SYNTAX_PROTO2 value + * @property {number} SYNTAX_PROTO3=1 SYNTAX_PROTO3 value + */ + protobuf.Syntax = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "SYNTAX_PROTO2"] = 0; + values[valuesById[1] = "SYNTAX_PROTO3"] = 1; + return values; + })(); + + protobuf.Any = (function() { + + /** + * Properties of an Any. + * @memberof google.protobuf + * @interface IAny + * @property {string|null} [type_url] Any type_url + * @property {Uint8Array|null} [value] Any value + */ + + /** + * Constructs a new Any. + * @memberof google.protobuf + * @classdesc Represents an Any. + * @implements IAny + * @constructor + * @param {google.protobuf.IAny=} [properties] Properties to set + */ + function Any(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Any type_url. + * @member {string} type_url + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.type_url = ""; + + /** + * Any value. + * @member {Uint8Array} value + * @memberof google.protobuf.Any + * @instance + */ + Any.prototype.value = $util.newBuffer([]); + + /** + * Creates a new Any instance using the specified properties. + * @function create + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny=} [properties] Properties to set + * @returns {google.protobuf.Any} Any instance + */ + Any.create = function create(properties) { + return new Any(properties); + }; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type_url != null && Object.hasOwnProperty.call(message, "type_url")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type_url); + if (message.value != null && Object.hasOwnProperty.call(message, "value")) + writer.uint32(/* id 2, wireType 2 =*/18).bytes(message.value); + return writer; + }; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.IAny} message Any message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Any.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Any message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Any(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type_url = reader.string(); + break; + } + case 2: { + message.value = reader.bytes(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Any + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Any} Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Any.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Any message. + * @function verify + * @memberof google.protobuf.Any + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Any.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type_url != null && message.hasOwnProperty("type_url")) + if (!$util.isString(message.type_url)) + return "type_url: string expected"; + if (message.value != null && message.hasOwnProperty("value")) + if (!(message.value && typeof message.value.length === "number" || $util.isString(message.value))) + return "value: buffer expected"; + return null; + }; + + /** + * Creates an Any message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Any + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Any} Any + */ + Any.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Any) + return object; + var message = new $root.google.protobuf.Any(); + if (object.type_url != null) + message.type_url = String(object.type_url); + if (object.value != null) + if (typeof object.value === "string") + $util.base64.decode(object.value, message.value = $util.newBuffer($util.base64.length(object.value)), 0); + else if (object.value.length >= 0) + message.value = object.value; + return message; + }; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Any + * @static + * @param {google.protobuf.Any} message Any + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Any.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type_url = ""; + if (options.bytes === String) + object.value = ""; + else { + object.value = []; + if (options.bytes !== Array) + object.value = $util.newBuffer(object.value); + } + } + if (message.type_url != null && message.hasOwnProperty("type_url")) + object.type_url = message.type_url; + if (message.value != null && message.hasOwnProperty("value")) + object.value = options.bytes === String ? $util.base64.encode(message.value, 0, message.value.length) : options.bytes === Array ? Array.prototype.slice.call(message.value) : message.value; + return object; + }; + + /** + * Converts this Any to JSON. + * @function toJSON + * @memberof google.protobuf.Any + * @instance + * @returns {Object.} JSON object + */ + Any.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Any + * @function getTypeUrl + * @memberof google.protobuf.Any + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Any.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Any"; + }; + + return Any; + })(); + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileDescriptorSet + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorSet.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorSet"; + }; + + return FileDescriptorSet; + })(); + + protobuf.FileDescriptorProto = (function() { + + /** + * Properties of a FileDescriptorProto. + * @memberof google.protobuf + * @interface IFileDescriptorProto + * @property {string|null} [name] FileDescriptorProto name + * @property {string|null} ["package"] FileDescriptorProto package + * @property {Array.|null} [dependency] FileDescriptorProto dependency + * @property {Array.|null} [publicDependency] FileDescriptorProto publicDependency + * @property {Array.|null} [weakDependency] FileDescriptorProto weakDependency + * @property {Array.|null} [messageType] FileDescriptorProto messageType + * @property {Array.|null} [enumType] FileDescriptorProto enumType + * @property {Array.|null} [service] FileDescriptorProto service + * @property {Array.|null} [extension] FileDescriptorProto extension + * @property {google.protobuf.IFileOptions|null} [options] FileDescriptorProto options + * @property {google.protobuf.ISourceCodeInfo|null} [sourceCodeInfo] FileDescriptorProto sourceCodeInfo + * @property {string|null} [syntax] FileDescriptorProto syntax + * @property {string|null} [edition] FileDescriptorProto edition + */ + + /** + * Constructs a new FileDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorProto. + * @implements IFileDescriptorProto + * @constructor + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + */ + function FileDescriptorProto(properties) { + this.dependency = []; + this.publicDependency = []; + this.weakDependency = []; + this.messageType = []; + this.enumType = []; + this.service = []; + this.extension = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.name = ""; + + /** + * FileDescriptorProto package. + * @member {string} package + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype["package"] = ""; + + /** + * FileDescriptorProto dependency. + * @member {Array.} dependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.dependency = $util.emptyArray; + + /** + * FileDescriptorProto publicDependency. + * @member {Array.} publicDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.publicDependency = $util.emptyArray; + + /** + * FileDescriptorProto weakDependency. + * @member {Array.} weakDependency + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.weakDependency = $util.emptyArray; + + /** + * FileDescriptorProto messageType. + * @member {Array.} messageType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.messageType = $util.emptyArray; + + /** + * FileDescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * FileDescriptorProto service. + * @member {Array.} service + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.service = $util.emptyArray; + + /** + * FileDescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.extension = $util.emptyArray; + + /** + * FileDescriptorProto options. + * @member {google.protobuf.IFileOptions|null|undefined} options + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.options = null; + + /** + * FileDescriptorProto sourceCodeInfo. + * @member {google.protobuf.ISourceCodeInfo|null|undefined} sourceCodeInfo + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.sourceCodeInfo = null; + + /** + * FileDescriptorProto syntax. + * @member {string} syntax + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.syntax = ""; + + /** + * FileDescriptorProto edition. + * @member {string} edition + * @memberof google.protobuf.FileDescriptorProto + * @instance + */ + FileDescriptorProto.prototype.edition = ""; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto instance + */ + FileDescriptorProto.create = function create(properties) { + return new FileDescriptorProto(properties); + }; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message["package"] != null && Object.hasOwnProperty.call(message, "package")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message["package"]); + if (message.dependency != null && message.dependency.length) + for (var i = 0; i < message.dependency.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.dependency[i]); + if (message.messageType != null && message.messageType.length) + for (var i = 0; i < message.messageType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.messageType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.service != null && message.service.length) + for (var i = 0; i < message.service.length; ++i) + $root.google.protobuf.ServiceDescriptorProto.encode(message.service[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FileOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.sourceCodeInfo != null && Object.hasOwnProperty.call(message, "sourceCodeInfo")) + $root.google.protobuf.SourceCodeInfo.encode(message.sourceCodeInfo, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.publicDependency != null && message.publicDependency.length) + for (var i = 0; i < message.publicDependency.length; ++i) + writer.uint32(/* id 10, wireType 0 =*/80).int32(message.publicDependency[i]); + if (message.weakDependency != null && message.weakDependency.length) + for (var i = 0; i < message.weakDependency.length; ++i) + writer.uint32(/* id 11, wireType 0 =*/88).int32(message.weakDependency[i]); + if (message.syntax != null && Object.hasOwnProperty.call(message, "syntax")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.syntax); + if (message.edition != null && Object.hasOwnProperty.call(message, "edition")) + writer.uint32(/* id 13, wireType 2 =*/106).string(message.edition); + return writer; + }; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.IFileDescriptorProto} message FileDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message["package"] = reader.string(); + break; + } + case 3: { + if (!(message.dependency && message.dependency.length)) + message.dependency = []; + message.dependency.push(reader.string()); + break; + } + case 10: { + if (!(message.publicDependency && message.publicDependency.length)) + message.publicDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.publicDependency.push(reader.int32()); + } else + message.publicDependency.push(reader.int32()); + break; + } + case 11: { + if (!(message.weakDependency && message.weakDependency.length)) + message.weakDependency = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.weakDependency.push(reader.int32()); + } else + message.weakDependency.push(reader.int32()); + break; + } + case 4: { + if (!(message.messageType && message.messageType.length)) + message.messageType = []; + message.messageType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.service && message.service.length)) + message.service = []; + message.service.push($root.google.protobuf.ServiceDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 8: { + message.options = $root.google.protobuf.FileOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.decode(reader, reader.uint32()); + break; + } + case 12: { + message.syntax = reader.string(); + break; + } + case 13: { + message.edition = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorProto message. + * @function verify + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message["package"] != null && message.hasOwnProperty("package")) + if (!$util.isString(message["package"])) + return "package: string expected"; + if (message.dependency != null && message.hasOwnProperty("dependency")) { + if (!Array.isArray(message.dependency)) + return "dependency: array expected"; + for (var i = 0; i < message.dependency.length; ++i) + if (!$util.isString(message.dependency[i])) + return "dependency: string[] expected"; + } + if (message.publicDependency != null && message.hasOwnProperty("publicDependency")) { + if (!Array.isArray(message.publicDependency)) + return "publicDependency: array expected"; + for (var i = 0; i < message.publicDependency.length; ++i) + if (!$util.isInteger(message.publicDependency[i])) + return "publicDependency: integer[] expected"; + } + if (message.weakDependency != null && message.hasOwnProperty("weakDependency")) { + if (!Array.isArray(message.weakDependency)) + return "weakDependency: array expected"; + for (var i = 0; i < message.weakDependency.length; ++i) + if (!$util.isInteger(message.weakDependency[i])) + return "weakDependency: integer[] expected"; + } + if (message.messageType != null && message.hasOwnProperty("messageType")) { + if (!Array.isArray(message.messageType)) + return "messageType: array expected"; + for (var i = 0; i < message.messageType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.messageType[i]); + if (error) + return "messageType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.service != null && message.hasOwnProperty("service")) { + if (!Array.isArray(message.service)) + return "service: array expected"; + for (var i = 0; i < message.service.length; ++i) { + var error = $root.google.protobuf.ServiceDescriptorProto.verify(message.service[i]); + if (error) + return "service." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FileOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) { + var error = $root.google.protobuf.SourceCodeInfo.verify(message.sourceCodeInfo); + if (error) + return "sourceCodeInfo." + error; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + if (!$util.isString(message.syntax)) + return "syntax: string expected"; + if (message.edition != null && message.hasOwnProperty("edition")) + if (!$util.isString(message.edition)) + return "edition: string expected"; + return null; + }; + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorProto} FileDescriptorProto + */ + FileDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorProto) + return object; + var message = new $root.google.protobuf.FileDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object["package"] != null) + message["package"] = String(object["package"]); + if (object.dependency) { + if (!Array.isArray(object.dependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.dependency: array expected"); + message.dependency = []; + for (var i = 0; i < object.dependency.length; ++i) + message.dependency[i] = String(object.dependency[i]); + } + if (object.publicDependency) { + if (!Array.isArray(object.publicDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.publicDependency: array expected"); + message.publicDependency = []; + for (var i = 0; i < object.publicDependency.length; ++i) + message.publicDependency[i] = object.publicDependency[i] | 0; + } + if (object.weakDependency) { + if (!Array.isArray(object.weakDependency)) + throw TypeError(".google.protobuf.FileDescriptorProto.weakDependency: array expected"); + message.weakDependency = []; + for (var i = 0; i < object.weakDependency.length; ++i) + message.weakDependency[i] = object.weakDependency[i] | 0; + } + if (object.messageType) { + if (!Array.isArray(object.messageType)) + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: array expected"); + message.messageType = []; + for (var i = 0; i < object.messageType.length; ++i) { + if (typeof object.messageType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.messageType: object expected"); + message.messageType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.messageType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.service) { + if (!Array.isArray(object.service)) + throw TypeError(".google.protobuf.FileDescriptorProto.service: array expected"); + message.service = []; + for (var i = 0; i < object.service.length; ++i) { + if (typeof object.service[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.service: object expected"); + message.service[i] = $root.google.protobuf.ServiceDescriptorProto.fromObject(object.service[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.FileDescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FileOptions.fromObject(object.options); + } + if (object.sourceCodeInfo != null) { + if (typeof object.sourceCodeInfo !== "object") + throw TypeError(".google.protobuf.FileDescriptorProto.sourceCodeInfo: object expected"); + message.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.fromObject(object.sourceCodeInfo); + } + if (object.syntax != null) + message.syntax = String(object.syntax); + if (object.edition != null) + message.edition = String(object.edition); + return message; + }; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {google.protobuf.FileDescriptorProto} message FileDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.dependency = []; + object.messageType = []; + object.enumType = []; + object.service = []; + object.extension = []; + object.publicDependency = []; + object.weakDependency = []; + } + if (options.defaults) { + object.name = ""; + object["package"] = ""; + object.options = null; + object.sourceCodeInfo = null; + object.syntax = ""; + object.edition = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message["package"] != null && message.hasOwnProperty("package")) + object["package"] = message["package"]; + if (message.dependency && message.dependency.length) { + object.dependency = []; + for (var j = 0; j < message.dependency.length; ++j) + object.dependency[j] = message.dependency[j]; + } + if (message.messageType && message.messageType.length) { + object.messageType = []; + for (var j = 0; j < message.messageType.length; ++j) + object.messageType[j] = $root.google.protobuf.DescriptorProto.toObject(message.messageType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.service && message.service.length) { + object.service = []; + for (var j = 0; j < message.service.length; ++j) + object.service[j] = $root.google.protobuf.ServiceDescriptorProto.toObject(message.service[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FileOptions.toObject(message.options, options); + if (message.sourceCodeInfo != null && message.hasOwnProperty("sourceCodeInfo")) + object.sourceCodeInfo = $root.google.protobuf.SourceCodeInfo.toObject(message.sourceCodeInfo, options); + if (message.publicDependency && message.publicDependency.length) { + object.publicDependency = []; + for (var j = 0; j < message.publicDependency.length; ++j) + object.publicDependency[j] = message.publicDependency[j]; + } + if (message.weakDependency && message.weakDependency.length) { + object.weakDependency = []; + for (var j = 0; j < message.weakDependency.length; ++j) + object.weakDependency[j] = message.weakDependency[j]; + } + if (message.syntax != null && message.hasOwnProperty("syntax")) + object.syntax = message.syntax; + if (message.edition != null && message.hasOwnProperty("edition")) + object.edition = message.edition; + return object; + }; + + /** + * Converts this FileDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FileDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileDescriptorProto"; + }; + + return FileDescriptorProto; + })(); + + protobuf.DescriptorProto = (function() { + + /** + * Properties of a DescriptorProto. + * @memberof google.protobuf + * @interface IDescriptorProto + * @property {string|null} [name] DescriptorProto name + * @property {Array.|null} [field] DescriptorProto field + * @property {Array.|null} [extension] DescriptorProto extension + * @property {Array.|null} [nestedType] DescriptorProto nestedType + * @property {Array.|null} [enumType] DescriptorProto enumType + * @property {Array.|null} [extensionRange] DescriptorProto extensionRange + * @property {Array.|null} [oneofDecl] DescriptorProto oneofDecl + * @property {google.protobuf.IMessageOptions|null} [options] DescriptorProto options + * @property {Array.|null} [reservedRange] DescriptorProto reservedRange + * @property {Array.|null} [reservedName] DescriptorProto reservedName + */ + + /** + * Constructs a new DescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a DescriptorProto. + * @implements IDescriptorProto + * @constructor + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + */ + function DescriptorProto(properties) { + this.field = []; + this.extension = []; + this.nestedType = []; + this.enumType = []; + this.extensionRange = []; + this.oneofDecl = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DescriptorProto name. + * @member {string} name + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.name = ""; + + /** + * DescriptorProto field. + * @member {Array.} field + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.field = $util.emptyArray; + + /** + * DescriptorProto extension. + * @member {Array.} extension + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extension = $util.emptyArray; + + /** + * DescriptorProto nestedType. + * @member {Array.} nestedType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.nestedType = $util.emptyArray; + + /** + * DescriptorProto enumType. + * @member {Array.} enumType + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.enumType = $util.emptyArray; + + /** + * DescriptorProto extensionRange. + * @member {Array.} extensionRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.extensionRange = $util.emptyArray; + + /** + * DescriptorProto oneofDecl. + * @member {Array.} oneofDecl + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.oneofDecl = $util.emptyArray; + + /** + * DescriptorProto options. + * @member {google.protobuf.IMessageOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.options = null; + + /** + * DescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * DescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.DescriptorProto + * @instance + */ + DescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto} DescriptorProto instance + */ + DescriptorProto.create = function create(properties) { + return new DescriptorProto(properties); + }; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.field != null && message.field.length) + for (var i = 0; i < message.field.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.field[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.nestedType != null && message.nestedType.length) + for (var i = 0; i < message.nestedType.length; ++i) + $root.google.protobuf.DescriptorProto.encode(message.nestedType[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.enumType != null && message.enumType.length) + for (var i = 0; i < message.enumType.length; ++i) + $root.google.protobuf.EnumDescriptorProto.encode(message.enumType[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.extensionRange != null && message.extensionRange.length) + for (var i = 0; i < message.extensionRange.length; ++i) + $root.google.protobuf.DescriptorProto.ExtensionRange.encode(message.extensionRange[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.extension != null && message.extension.length) + for (var i = 0; i < message.extension.length; ++i) + $root.google.protobuf.FieldDescriptorProto.encode(message.extension[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MessageOptions.encode(message.options, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + if (message.oneofDecl != null && message.oneofDecl.length) + for (var i = 0; i < message.oneofDecl.length; ++i) + $root.google.protobuf.OneofDescriptorProto.encode(message.oneofDecl[i], writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.DescriptorProto.ReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.IDescriptorProto} message DescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.field && message.field.length)) + message.field = []; + message.field.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.extension && message.extension.length)) + message.extension = []; + message.extension.push($root.google.protobuf.FieldDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.nestedType && message.nestedType.length)) + message.nestedType = []; + message.nestedType.push($root.google.protobuf.DescriptorProto.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.enumType && message.enumType.length)) + message.enumType = []; + message.enumType.push($root.google.protobuf.EnumDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.extensionRange && message.extensionRange.length)) + message.extensionRange = []; + message.extensionRange.push($root.google.protobuf.DescriptorProto.ExtensionRange.decode(reader, reader.uint32())); + break; + } + case 8: { + if (!(message.oneofDecl && message.oneofDecl.length)) + message.oneofDecl = []; + message.oneofDecl.push($root.google.protobuf.OneofDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 7: { + message.options = $root.google.protobuf.MessageOptions.decode(reader, reader.uint32()); + break; + } + case 9: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.DescriptorProto.ReservedRange.decode(reader, reader.uint32())); + break; + } + case 10: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto} DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DescriptorProto message. + * @function verify + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.field != null && message.hasOwnProperty("field")) { + if (!Array.isArray(message.field)) + return "field: array expected"; + for (var i = 0; i < message.field.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.field[i]); + if (error) + return "field." + error; + } + } + if (message.extension != null && message.hasOwnProperty("extension")) { + if (!Array.isArray(message.extension)) + return "extension: array expected"; + for (var i = 0; i < message.extension.length; ++i) { + var error = $root.google.protobuf.FieldDescriptorProto.verify(message.extension[i]); + if (error) + return "extension." + error; + } + } + if (message.nestedType != null && message.hasOwnProperty("nestedType")) { + if (!Array.isArray(message.nestedType)) + return "nestedType: array expected"; + for (var i = 0; i < message.nestedType.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.verify(message.nestedType[i]); + if (error) + return "nestedType." + error; + } + } + if (message.enumType != null && message.hasOwnProperty("enumType")) { + if (!Array.isArray(message.enumType)) + return "enumType: array expected"; + for (var i = 0; i < message.enumType.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.verify(message.enumType[i]); + if (error) + return "enumType." + error; + } + } + if (message.extensionRange != null && message.hasOwnProperty("extensionRange")) { + if (!Array.isArray(message.extensionRange)) + return "extensionRange: array expected"; + for (var i = 0; i < message.extensionRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ExtensionRange.verify(message.extensionRange[i]); + if (error) + return "extensionRange." + error; + } + } + if (message.oneofDecl != null && message.hasOwnProperty("oneofDecl")) { + if (!Array.isArray(message.oneofDecl)) + return "oneofDecl: array expected"; + for (var i = 0; i < message.oneofDecl.length; ++i) { + var error = $root.google.protobuf.OneofDescriptorProto.verify(message.oneofDecl[i]); + if (error) + return "oneofDecl." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MessageOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.DescriptorProto.ReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto} DescriptorProto + */ + DescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto) + return object; + var message = new $root.google.protobuf.DescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.field) { + if (!Array.isArray(object.field)) + throw TypeError(".google.protobuf.DescriptorProto.field: array expected"); + message.field = []; + for (var i = 0; i < object.field.length; ++i) { + if (typeof object.field[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.field: object expected"); + message.field[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.field[i]); + } + } + if (object.extension) { + if (!Array.isArray(object.extension)) + throw TypeError(".google.protobuf.DescriptorProto.extension: array expected"); + message.extension = []; + for (var i = 0; i < object.extension.length; ++i) { + if (typeof object.extension[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extension: object expected"); + message.extension[i] = $root.google.protobuf.FieldDescriptorProto.fromObject(object.extension[i]); + } + } + if (object.nestedType) { + if (!Array.isArray(object.nestedType)) + throw TypeError(".google.protobuf.DescriptorProto.nestedType: array expected"); + message.nestedType = []; + for (var i = 0; i < object.nestedType.length; ++i) { + if (typeof object.nestedType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.nestedType: object expected"); + message.nestedType[i] = $root.google.protobuf.DescriptorProto.fromObject(object.nestedType[i]); + } + } + if (object.enumType) { + if (!Array.isArray(object.enumType)) + throw TypeError(".google.protobuf.DescriptorProto.enumType: array expected"); + message.enumType = []; + for (var i = 0; i < object.enumType.length; ++i) { + if (typeof object.enumType[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.enumType: object expected"); + message.enumType[i] = $root.google.protobuf.EnumDescriptorProto.fromObject(object.enumType[i]); + } + } + if (object.extensionRange) { + if (!Array.isArray(object.extensionRange)) + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: array expected"); + message.extensionRange = []; + for (var i = 0; i < object.extensionRange.length; ++i) { + if (typeof object.extensionRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.extensionRange: object expected"); + message.extensionRange[i] = $root.google.protobuf.DescriptorProto.ExtensionRange.fromObject(object.extensionRange[i]); + } + } + if (object.oneofDecl) { + if (!Array.isArray(object.oneofDecl)) + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: array expected"); + message.oneofDecl = []; + for (var i = 0; i < object.oneofDecl.length; ++i) { + if (typeof object.oneofDecl[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.oneofDecl: object expected"); + message.oneofDecl[i] = $root.google.protobuf.OneofDescriptorProto.fromObject(object.oneofDecl[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MessageOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.DescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.DescriptorProto.ReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.DescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto + * @static + * @param {google.protobuf.DescriptorProto} message DescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.field = []; + object.nestedType = []; + object.enumType = []; + object.extensionRange = []; + object.extension = []; + object.oneofDecl = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.field && message.field.length) { + object.field = []; + for (var j = 0; j < message.field.length; ++j) + object.field[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.field[j], options); + } + if (message.nestedType && message.nestedType.length) { + object.nestedType = []; + for (var j = 0; j < message.nestedType.length; ++j) + object.nestedType[j] = $root.google.protobuf.DescriptorProto.toObject(message.nestedType[j], options); + } + if (message.enumType && message.enumType.length) { + object.enumType = []; + for (var j = 0; j < message.enumType.length; ++j) + object.enumType[j] = $root.google.protobuf.EnumDescriptorProto.toObject(message.enumType[j], options); + } + if (message.extensionRange && message.extensionRange.length) { + object.extensionRange = []; + for (var j = 0; j < message.extensionRange.length; ++j) + object.extensionRange[j] = $root.google.protobuf.DescriptorProto.ExtensionRange.toObject(message.extensionRange[j], options); + } + if (message.extension && message.extension.length) { + object.extension = []; + for (var j = 0; j < message.extension.length; ++j) + object.extension[j] = $root.google.protobuf.FieldDescriptorProto.toObject(message.extension[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MessageOptions.toObject(message.options, options); + if (message.oneofDecl && message.oneofDecl.length) { + object.oneofDecl = []; + for (var j = 0; j < message.oneofDecl.length; ++j) + object.oneofDecl[j] = $root.google.protobuf.OneofDescriptorProto.toObject(message.oneofDecl[j], options); + } + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.DescriptorProto.ReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this DescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto + * @instance + * @returns {Object.} JSON object + */ + DescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto"; + }; + + DescriptorProto.ExtensionRange = (function() { + + /** + * Properties of an ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @interface IExtensionRange + * @property {number|null} [start] ExtensionRange start + * @property {number|null} [end] ExtensionRange end + * @property {google.protobuf.IExtensionRangeOptions|null} [options] ExtensionRange options + */ + + /** + * Constructs a new ExtensionRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents an ExtensionRange. + * @implements IExtensionRange + * @constructor + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + */ + function ExtensionRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.start = 0; + + /** + * ExtensionRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.end = 0; + + /** + * ExtensionRange options. + * @member {google.protobuf.IExtensionRangeOptions|null|undefined} options + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + */ + ExtensionRange.prototype.options = null; + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange instance + */ + ExtensionRange.create = function create(properties) { + return new ExtensionRange(properties); + }; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ExtensionRangeOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.IExtensionRange} message ExtensionRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.ExtensionRangeOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ExtensionRangeOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ExtensionRange} ExtensionRange + */ + ExtensionRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ExtensionRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ExtensionRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.DescriptorProto.ExtensionRange.options: object expected"); + message.options = $root.google.protobuf.ExtensionRangeOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {google.protobuf.DescriptorProto.ExtensionRange} message ExtensionRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + object.options = null; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ExtensionRangeOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ExtensionRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @instance + * @returns {Object.} JSON object + */ + ExtensionRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExtensionRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ExtensionRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ExtensionRange"; + }; + + return ExtensionRange; + })(); + + DescriptorProto.ReservedRange = (function() { + + /** + * Properties of a ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @interface IReservedRange + * @property {number|null} [start] ReservedRange start + * @property {number|null} [end] ReservedRange end + */ + + /** + * Constructs a new ReservedRange. + * @memberof google.protobuf.DescriptorProto + * @classdesc Represents a ReservedRange. + * @implements IReservedRange + * @constructor + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + */ + function ReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ReservedRange start. + * @member {number} start + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.start = 0; + + /** + * ReservedRange end. + * @member {number} end + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + */ + ReservedRange.prototype.end = 0; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange=} [properties] Properties to set + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange instance + */ + ReservedRange.create = function create(properties) { + return new ReservedRange(properties); + }; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.IReservedRange} message ReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ReservedRange message. + * @function verify + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.DescriptorProto.ReservedRange} ReservedRange + */ + ReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.DescriptorProto.ReservedRange) + return object; + var message = new $root.google.protobuf.DescriptorProto.ReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {google.protobuf.DescriptorProto.ReservedRange} message ReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this ReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @instance + * @returns {Object.} JSON object + */ + ReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ReservedRange + * @function getTypeUrl + * @memberof google.protobuf.DescriptorProto.ReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.DescriptorProto.ReservedRange"; + }; + + return ReservedRange; + })(); + + return DescriptorProto; + })(); + + protobuf.ExtensionRangeOptions = (function() { + + /** + * Properties of an ExtensionRangeOptions. + * @memberof google.protobuf + * @interface IExtensionRangeOptions + * @property {Array.|null} [uninterpretedOption] ExtensionRangeOptions uninterpretedOption + */ + + /** + * Constructs a new ExtensionRangeOptions. + * @memberof google.protobuf + * @classdesc Represents an ExtensionRangeOptions. + * @implements IExtensionRangeOptions + * @constructor + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + */ + function ExtensionRangeOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ExtensionRangeOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + */ + ExtensionRangeOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions=} [properties] Properties to set + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions instance + */ + ExtensionRangeOptions.create = function create(properties) { + return new ExtensionRangeOptions(properties); + }; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.IExtensionRangeOptions} message ExtensionRangeOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExtensionRangeOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ExtensionRangeOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExtensionRangeOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExtensionRangeOptions message. + * @function verify + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExtensionRangeOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ExtensionRangeOptions} ExtensionRangeOptions + */ + ExtensionRangeOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ExtensionRangeOptions) + return object; + var message = new $root.google.protobuf.ExtensionRangeOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ExtensionRangeOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {google.protobuf.ExtensionRangeOptions} message ExtensionRangeOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExtensionRangeOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ExtensionRangeOptions + * @instance + * @returns {Object.} JSON object + */ + ExtensionRangeOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @function getTypeUrl + * @memberof google.protobuf.ExtensionRangeOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExtensionRangeOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ExtensionRangeOptions"; + }; + + return ExtensionRangeOptions; + })(); + + protobuf.FieldDescriptorProto = (function() { + + /** + * Properties of a FieldDescriptorProto. + * @memberof google.protobuf + * @interface IFieldDescriptorProto + * @property {string|null} [name] FieldDescriptorProto name + * @property {number|null} [number] FieldDescriptorProto number + * @property {google.protobuf.FieldDescriptorProto.Label|null} [label] FieldDescriptorProto label + * @property {google.protobuf.FieldDescriptorProto.Type|null} [type] FieldDescriptorProto type + * @property {string|null} [typeName] FieldDescriptorProto typeName + * @property {string|null} [extendee] FieldDescriptorProto extendee + * @property {string|null} [defaultValue] FieldDescriptorProto defaultValue + * @property {number|null} [oneofIndex] FieldDescriptorProto oneofIndex + * @property {string|null} [jsonName] FieldDescriptorProto jsonName + * @property {google.protobuf.IFieldOptions|null} [options] FieldDescriptorProto options + * @property {boolean|null} [proto3Optional] FieldDescriptorProto proto3Optional + */ + + /** + * Constructs a new FieldDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a FieldDescriptorProto. + * @implements IFieldDescriptorProto + * @constructor + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + */ + function FieldDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.name = ""; + + /** + * FieldDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.number = 0; + + /** + * FieldDescriptorProto label. + * @member {google.protobuf.FieldDescriptorProto.Label} label + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.label = 1; + + /** + * FieldDescriptorProto type. + * @member {google.protobuf.FieldDescriptorProto.Type} type + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.type = 1; + + /** + * FieldDescriptorProto typeName. + * @member {string} typeName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.typeName = ""; + + /** + * FieldDescriptorProto extendee. + * @member {string} extendee + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.extendee = ""; + + /** + * FieldDescriptorProto defaultValue. + * @member {string} defaultValue + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.defaultValue = ""; + + /** + * FieldDescriptorProto oneofIndex. + * @member {number} oneofIndex + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.oneofIndex = 0; + + /** + * FieldDescriptorProto jsonName. + * @member {string} jsonName + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.jsonName = ""; + + /** + * FieldDescriptorProto options. + * @member {google.protobuf.IFieldOptions|null|undefined} options + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.options = null; + + /** + * FieldDescriptorProto proto3Optional. + * @member {boolean} proto3Optional + * @memberof google.protobuf.FieldDescriptorProto + * @instance + */ + FieldDescriptorProto.prototype.proto3Optional = false; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto instance + */ + FieldDescriptorProto.create = function create(properties) { + return new FieldDescriptorProto(properties); + }; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.extendee != null && Object.hasOwnProperty.call(message, "extendee")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.extendee); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.number); + if (message.label != null && Object.hasOwnProperty.call(message, "label")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.label); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.type); + if (message.typeName != null && Object.hasOwnProperty.call(message, "typeName")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.typeName); + if (message.defaultValue != null && Object.hasOwnProperty.call(message, "defaultValue")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.defaultValue); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.FieldOptions.encode(message.options, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.oneofIndex != null && Object.hasOwnProperty.call(message, "oneofIndex")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.oneofIndex); + if (message.jsonName != null && Object.hasOwnProperty.call(message, "jsonName")) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.jsonName); + if (message.proto3Optional != null && Object.hasOwnProperty.call(message, "proto3Optional")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.proto3Optional); + return writer; + }; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.IFieldDescriptorProto} message FieldDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 3: { + message.number = reader.int32(); + break; + } + case 4: { + message.label = reader.int32(); + break; + } + case 5: { + message.type = reader.int32(); + break; + } + case 6: { + message.typeName = reader.string(); + break; + } + case 2: { + message.extendee = reader.string(); + break; + } + case 7: { + message.defaultValue = reader.string(); + break; + } + case 9: { + message.oneofIndex = reader.int32(); + break; + } + case 10: { + message.jsonName = reader.string(); + break; + } + case 8: { + message.options = $root.google.protobuf.FieldOptions.decode(reader, reader.uint32()); + break; + } + case 17: { + message.proto3Optional = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldDescriptorProto message. + * @function verify + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.label != null && message.hasOwnProperty("label")) + switch (message.label) { + default: + return "label: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.type != null && message.hasOwnProperty("type")) + switch (message.type) { + default: + return "type: enum value expected"; + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 9: + case 10: + case 11: + case 12: + case 13: + case 14: + case 15: + case 16: + case 17: + case 18: + break; + } + if (message.typeName != null && message.hasOwnProperty("typeName")) + if (!$util.isString(message.typeName)) + return "typeName: string expected"; + if (message.extendee != null && message.hasOwnProperty("extendee")) + if (!$util.isString(message.extendee)) + return "extendee: string expected"; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + if (!$util.isString(message.defaultValue)) + return "defaultValue: string expected"; + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + if (!$util.isInteger(message.oneofIndex)) + return "oneofIndex: integer expected"; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + if (!$util.isString(message.jsonName)) + return "jsonName: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.FieldOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + if (typeof message.proto3Optional !== "boolean") + return "proto3Optional: boolean expected"; + return null; + }; + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldDescriptorProto} FieldDescriptorProto + */ + FieldDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldDescriptorProto) + return object; + var message = new $root.google.protobuf.FieldDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + switch (object.label) { + default: + if (typeof object.label === "number") { + message.label = object.label; + break; + } + break; + case "LABEL_OPTIONAL": + case 1: + message.label = 1; + break; + case "LABEL_REQUIRED": + case 2: + message.label = 2; + break; + case "LABEL_REPEATED": + case 3: + message.label = 3; + break; + } + switch (object.type) { + default: + if (typeof object.type === "number") { + message.type = object.type; + break; + } + break; + case "TYPE_DOUBLE": + case 1: + message.type = 1; + break; + case "TYPE_FLOAT": + case 2: + message.type = 2; + break; + case "TYPE_INT64": + case 3: + message.type = 3; + break; + case "TYPE_UINT64": + case 4: + message.type = 4; + break; + case "TYPE_INT32": + case 5: + message.type = 5; + break; + case "TYPE_FIXED64": + case 6: + message.type = 6; + break; + case "TYPE_FIXED32": + case 7: + message.type = 7; + break; + case "TYPE_BOOL": + case 8: + message.type = 8; + break; + case "TYPE_STRING": + case 9: + message.type = 9; + break; + case "TYPE_GROUP": + case 10: + message.type = 10; + break; + case "TYPE_MESSAGE": + case 11: + message.type = 11; + break; + case "TYPE_BYTES": + case 12: + message.type = 12; + break; + case "TYPE_UINT32": + case 13: + message.type = 13; + break; + case "TYPE_ENUM": + case 14: + message.type = 14; + break; + case "TYPE_SFIXED32": + case 15: + message.type = 15; + break; + case "TYPE_SFIXED64": + case 16: + message.type = 16; + break; + case "TYPE_SINT32": + case 17: + message.type = 17; + break; + case "TYPE_SINT64": + case 18: + message.type = 18; + break; + } + if (object.typeName != null) + message.typeName = String(object.typeName); + if (object.extendee != null) + message.extendee = String(object.extendee); + if (object.defaultValue != null) + message.defaultValue = String(object.defaultValue); + if (object.oneofIndex != null) + message.oneofIndex = object.oneofIndex | 0; + if (object.jsonName != null) + message.jsonName = String(object.jsonName); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.FieldDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.FieldOptions.fromObject(object.options); + } + if (object.proto3Optional != null) + message.proto3Optional = Boolean(object.proto3Optional); + return message; + }; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {google.protobuf.FieldDescriptorProto} message FieldDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.extendee = ""; + object.number = 0; + object.label = options.enums === String ? "LABEL_OPTIONAL" : 1; + object.type = options.enums === String ? "TYPE_DOUBLE" : 1; + object.typeName = ""; + object.defaultValue = ""; + object.options = null; + object.oneofIndex = 0; + object.jsonName = ""; + object.proto3Optional = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.extendee != null && message.hasOwnProperty("extendee")) + object.extendee = message.extendee; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.label != null && message.hasOwnProperty("label")) + object.label = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Label[message.label] === undefined ? message.label : $root.google.protobuf.FieldDescriptorProto.Label[message.label] : message.label; + if (message.type != null && message.hasOwnProperty("type")) + object.type = options.enums === String ? $root.google.protobuf.FieldDescriptorProto.Type[message.type] === undefined ? message.type : $root.google.protobuf.FieldDescriptorProto.Type[message.type] : message.type; + if (message.typeName != null && message.hasOwnProperty("typeName")) + object.typeName = message.typeName; + if (message.defaultValue != null && message.hasOwnProperty("defaultValue")) + object.defaultValue = message.defaultValue; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.FieldOptions.toObject(message.options, options); + if (message.oneofIndex != null && message.hasOwnProperty("oneofIndex")) + object.oneofIndex = message.oneofIndex; + if (message.jsonName != null && message.hasOwnProperty("jsonName")) + object.jsonName = message.jsonName; + if (message.proto3Optional != null && message.hasOwnProperty("proto3Optional")) + object.proto3Optional = message.proto3Optional; + return object; + }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.FieldDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + FieldDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.FieldDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldDescriptorProto"; + }; + + /** + * Type enum. + * @name google.protobuf.FieldDescriptorProto.Type + * @enum {number} + * @property {number} TYPE_DOUBLE=1 TYPE_DOUBLE value + * @property {number} TYPE_FLOAT=2 TYPE_FLOAT value + * @property {number} TYPE_INT64=3 TYPE_INT64 value + * @property {number} TYPE_UINT64=4 TYPE_UINT64 value + * @property {number} TYPE_INT32=5 TYPE_INT32 value + * @property {number} TYPE_FIXED64=6 TYPE_FIXED64 value + * @property {number} TYPE_FIXED32=7 TYPE_FIXED32 value + * @property {number} TYPE_BOOL=8 TYPE_BOOL value + * @property {number} TYPE_STRING=9 TYPE_STRING value + * @property {number} TYPE_GROUP=10 TYPE_GROUP value + * @property {number} TYPE_MESSAGE=11 TYPE_MESSAGE value + * @property {number} TYPE_BYTES=12 TYPE_BYTES value + * @property {number} TYPE_UINT32=13 TYPE_UINT32 value + * @property {number} TYPE_ENUM=14 TYPE_ENUM value + * @property {number} TYPE_SFIXED32=15 TYPE_SFIXED32 value + * @property {number} TYPE_SFIXED64=16 TYPE_SFIXED64 value + * @property {number} TYPE_SINT32=17 TYPE_SINT32 value + * @property {number} TYPE_SINT64=18 TYPE_SINT64 value + */ + FieldDescriptorProto.Type = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "TYPE_DOUBLE"] = 1; + values[valuesById[2] = "TYPE_FLOAT"] = 2; + values[valuesById[3] = "TYPE_INT64"] = 3; + values[valuesById[4] = "TYPE_UINT64"] = 4; + values[valuesById[5] = "TYPE_INT32"] = 5; + values[valuesById[6] = "TYPE_FIXED64"] = 6; + values[valuesById[7] = "TYPE_FIXED32"] = 7; + values[valuesById[8] = "TYPE_BOOL"] = 8; + values[valuesById[9] = "TYPE_STRING"] = 9; + values[valuesById[10] = "TYPE_GROUP"] = 10; + values[valuesById[11] = "TYPE_MESSAGE"] = 11; + values[valuesById[12] = "TYPE_BYTES"] = 12; + values[valuesById[13] = "TYPE_UINT32"] = 13; + values[valuesById[14] = "TYPE_ENUM"] = 14; + values[valuesById[15] = "TYPE_SFIXED32"] = 15; + values[valuesById[16] = "TYPE_SFIXED64"] = 16; + values[valuesById[17] = "TYPE_SINT32"] = 17; + values[valuesById[18] = "TYPE_SINT64"] = 18; + return values; + })(); + + /** + * Label enum. + * @name google.protobuf.FieldDescriptorProto.Label + * @enum {number} + * @property {number} LABEL_OPTIONAL=1 LABEL_OPTIONAL value + * @property {number} LABEL_REQUIRED=2 LABEL_REQUIRED value + * @property {number} LABEL_REPEATED=3 LABEL_REPEATED value + */ + FieldDescriptorProto.Label = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "LABEL_OPTIONAL"] = 1; + values[valuesById[2] = "LABEL_REQUIRED"] = 2; + values[valuesById[3] = "LABEL_REPEATED"] = 3; + return values; + })(); + + return FieldDescriptorProto; + })(); + + protobuf.OneofDescriptorProto = (function() { + + /** + * Properties of an OneofDescriptorProto. + * @memberof google.protobuf + * @interface IOneofDescriptorProto + * @property {string|null} [name] OneofDescriptorProto name + * @property {google.protobuf.IOneofOptions|null} [options] OneofDescriptorProto options + */ + + /** + * Constructs a new OneofDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an OneofDescriptorProto. + * @implements IOneofDescriptorProto + * @constructor + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + */ + function OneofDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.name = ""; + + /** + * OneofDescriptorProto options. + * @member {google.protobuf.IOneofOptions|null|undefined} options + * @memberof google.protobuf.OneofDescriptorProto + * @instance + */ + OneofDescriptorProto.prototype.options = null; + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto instance + */ + OneofDescriptorProto.create = function create(properties) { + return new OneofDescriptorProto(properties); + }; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.OneofOptions.encode(message.options, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.IOneofDescriptorProto} message OneofDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.options = $root.google.protobuf.OneofOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofDescriptorProto message. + * @function verify + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.OneofOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofDescriptorProto} OneofDescriptorProto + */ + OneofDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofDescriptorProto) + return object; + var message = new $root.google.protobuf.OneofDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.OneofDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.OneofOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {google.protobuf.OneofDescriptorProto} message OneofDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.OneofOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.OneofDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + OneofDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OneofDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.OneofDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofDescriptorProto"; + }; + + return OneofDescriptorProto; + })(); + + protobuf.EnumDescriptorProto = (function() { + + /** + * Properties of an EnumDescriptorProto. + * @memberof google.protobuf + * @interface IEnumDescriptorProto + * @property {string|null} [name] EnumDescriptorProto name + * @property {Array.|null} [value] EnumDescriptorProto value + * @property {google.protobuf.IEnumOptions|null} [options] EnumDescriptorProto options + * @property {Array.|null} [reservedRange] EnumDescriptorProto reservedRange + * @property {Array.|null} [reservedName] EnumDescriptorProto reservedName + */ + + /** + * Constructs a new EnumDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumDescriptorProto. + * @implements IEnumDescriptorProto + * @constructor + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + */ + function EnumDescriptorProto(properties) { + this.value = []; + this.reservedRange = []; + this.reservedName = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.name = ""; + + /** + * EnumDescriptorProto value. + * @member {Array.} value + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.value = $util.emptyArray; + + /** + * EnumDescriptorProto options. + * @member {google.protobuf.IEnumOptions|null|undefined} options + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.options = null; + + /** + * EnumDescriptorProto reservedRange. + * @member {Array.} reservedRange + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedRange = $util.emptyArray; + + /** + * EnumDescriptorProto reservedName. + * @member {Array.} reservedName + * @memberof google.protobuf.EnumDescriptorProto + * @instance + */ + EnumDescriptorProto.prototype.reservedName = $util.emptyArray; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto instance + */ + EnumDescriptorProto.create = function create(properties) { + return new EnumDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.value != null && message.value.length) + for (var i = 0; i < message.value.length; ++i) + $root.google.protobuf.EnumValueDescriptorProto.encode(message.value[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.reservedRange != null && message.reservedRange.length) + for (var i = 0; i < message.reservedRange.length; ++i) + $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.encode(message.reservedRange[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.reservedName != null && message.reservedName.length) + for (var i = 0; i < message.reservedName.length; ++i) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.reservedName[i]); + return writer; + }; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.IEnumDescriptorProto} message EnumDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.value && message.value.length)) + message.value = []; + message.value.push($root.google.protobuf.EnumValueDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumOptions.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.reservedRange && message.reservedRange.length)) + message.reservedRange = []; + message.reservedRange.push($root.google.protobuf.EnumDescriptorProto.EnumReservedRange.decode(reader, reader.uint32())); + break; + } + case 5: { + if (!(message.reservedName && message.reservedName.length)) + message.reservedName = []; + message.reservedName.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.value != null && message.hasOwnProperty("value")) { + if (!Array.isArray(message.value)) + return "value: array expected"; + for (var i = 0; i < message.value.length; ++i) { + var error = $root.google.protobuf.EnumValueDescriptorProto.verify(message.value[i]); + if (error) + return "value." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.reservedRange != null && message.hasOwnProperty("reservedRange")) { + if (!Array.isArray(message.reservedRange)) + return "reservedRange: array expected"; + for (var i = 0; i < message.reservedRange.length; ++i) { + var error = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.verify(message.reservedRange[i]); + if (error) + return "reservedRange." + error; + } + } + if (message.reservedName != null && message.hasOwnProperty("reservedName")) { + if (!Array.isArray(message.reservedName)) + return "reservedName: array expected"; + for (var i = 0; i < message.reservedName.length; ++i) + if (!$util.isString(message.reservedName[i])) + return "reservedName: string[] expected"; + } + return null; + }; + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto} EnumDescriptorProto + */ + EnumDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.value) { + if (!Array.isArray(object.value)) + throw TypeError(".google.protobuf.EnumDescriptorProto.value: array expected"); + message.value = []; + for (var i = 0; i < object.value.length; ++i) { + if (typeof object.value[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.value: object expected"); + message.value[i] = $root.google.protobuf.EnumValueDescriptorProto.fromObject(object.value[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumOptions.fromObject(object.options); + } + if (object.reservedRange) { + if (!Array.isArray(object.reservedRange)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: array expected"); + message.reservedRange = []; + for (var i = 0; i < object.reservedRange.length; ++i) { + if (typeof object.reservedRange[i] !== "object") + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedRange: object expected"); + message.reservedRange[i] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.fromObject(object.reservedRange[i]); + } + } + if (object.reservedName) { + if (!Array.isArray(object.reservedName)) + throw TypeError(".google.protobuf.EnumDescriptorProto.reservedName: array expected"); + message.reservedName = []; + for (var i = 0; i < object.reservedName.length; ++i) + message.reservedName[i] = String(object.reservedName[i]); + } + return message; + }; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {google.protobuf.EnumDescriptorProto} message EnumDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.value = []; + object.reservedRange = []; + object.reservedName = []; + } + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.value && message.value.length) { + object.value = []; + for (var j = 0; j < message.value.length; ++j) + object.value[j] = $root.google.protobuf.EnumValueDescriptorProto.toObject(message.value[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumOptions.toObject(message.options, options); + if (message.reservedRange && message.reservedRange.length) { + object.reservedRange = []; + for (var j = 0; j < message.reservedRange.length; ++j) + object.reservedRange[j] = $root.google.protobuf.EnumDescriptorProto.EnumReservedRange.toObject(message.reservedRange[j], options); + } + if (message.reservedName && message.reservedName.length) { + object.reservedName = []; + for (var j = 0; j < message.reservedName.length; ++j) + object.reservedName[j] = message.reservedName[j]; + } + return object; + }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto"; + }; + + EnumDescriptorProto.EnumReservedRange = (function() { + + /** + * Properties of an EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @interface IEnumReservedRange + * @property {number|null} [start] EnumReservedRange start + * @property {number|null} [end] EnumReservedRange end + */ + + /** + * Constructs a new EnumReservedRange. + * @memberof google.protobuf.EnumDescriptorProto + * @classdesc Represents an EnumReservedRange. + * @implements IEnumReservedRange + * @constructor + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + */ + function EnumReservedRange(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumReservedRange start. + * @member {number} start + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.start = 0; + + /** + * EnumReservedRange end. + * @member {number} end + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + */ + EnumReservedRange.prototype.end = 0; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange=} [properties] Properties to set + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange instance + */ + EnumReservedRange.create = function create(properties) { + return new EnumReservedRange(properties); + }; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.start != null && Object.hasOwnProperty.call(message, "start")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.start); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.end); + return writer; + }; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.IEnumReservedRange} message EnumReservedRange message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumReservedRange.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.start = reader.int32(); + break; + } + case 2: { + message.end = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumReservedRange.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumReservedRange message. + * @function verify + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumReservedRange.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.start != null && message.hasOwnProperty("start")) + if (!$util.isInteger(message.start)) + return "start: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + return null; + }; + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumDescriptorProto.EnumReservedRange} EnumReservedRange + */ + EnumReservedRange.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumDescriptorProto.EnumReservedRange) + return object; + var message = new $root.google.protobuf.EnumDescriptorProto.EnumReservedRange(); + if (object.start != null) + message.start = object.start | 0; + if (object.end != null) + message.end = object.end | 0; + return message; + }; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {google.protobuf.EnumDescriptorProto.EnumReservedRange} message EnumReservedRange + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumReservedRange.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.start = 0; + object.end = 0; + } + if (message.start != null && message.hasOwnProperty("start")) + object.start = message.start; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + return object; + }; + + /** + * Converts this EnumReservedRange to JSON. + * @function toJSON + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @instance + * @returns {Object.} JSON object + */ + EnumReservedRange.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumReservedRange + * @function getTypeUrl + * @memberof google.protobuf.EnumDescriptorProto.EnumReservedRange + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumReservedRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumDescriptorProto.EnumReservedRange"; + }; + + return EnumReservedRange; + })(); + + return EnumDescriptorProto; + })(); + + protobuf.EnumValueDescriptorProto = (function() { + + /** + * Properties of an EnumValueDescriptorProto. + * @memberof google.protobuf + * @interface IEnumValueDescriptorProto + * @property {string|null} [name] EnumValueDescriptorProto name + * @property {number|null} [number] EnumValueDescriptorProto number + * @property {google.protobuf.IEnumValueOptions|null} [options] EnumValueDescriptorProto options + */ + + /** + * Constructs a new EnumValueDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents an EnumValueDescriptorProto. + * @implements IEnumValueDescriptorProto + * @constructor + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + */ + function EnumValueDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.name = ""; + + /** + * EnumValueDescriptorProto number. + * @member {number} number + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.number = 0; + + /** + * EnumValueDescriptorProto options. + * @member {google.protobuf.IEnumValueOptions|null|undefined} options + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + */ + EnumValueDescriptorProto.prototype.options = null; + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto instance + */ + EnumValueDescriptorProto.create = function create(properties) { + return new EnumValueDescriptorProto(properties); + }; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.number != null && Object.hasOwnProperty.call(message, "number")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.number); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.EnumValueOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.IEnumValueDescriptorProto} message EnumValueDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.number = reader.int32(); + break; + } + case 3: { + message.options = $root.google.protobuf.EnumValueOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueDescriptorProto message. + * @function verify + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.number != null && message.hasOwnProperty("number")) + if (!$util.isInteger(message.number)) + return "number: integer expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.EnumValueOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueDescriptorProto} EnumValueDescriptorProto + */ + EnumValueDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueDescriptorProto) + return object; + var message = new $root.google.protobuf.EnumValueDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.number != null) + message.number = object.number | 0; + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.EnumValueDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.EnumValueOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {google.protobuf.EnumValueDescriptorProto} message EnumValueDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.number = 0; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.number != null && message.hasOwnProperty("number")) + object.number = message.number; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.EnumValueOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + EnumValueDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.EnumValueDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueDescriptorProto"; + }; + + return EnumValueDescriptorProto; + })(); + + protobuf.ServiceDescriptorProto = (function() { + + /** + * Properties of a ServiceDescriptorProto. + * @memberof google.protobuf + * @interface IServiceDescriptorProto + * @property {string|null} [name] ServiceDescriptorProto name + * @property {Array.|null} [method] ServiceDescriptorProto method + * @property {google.protobuf.IServiceOptions|null} [options] ServiceDescriptorProto options + */ + + /** + * Constructs a new ServiceDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a ServiceDescriptorProto. + * @implements IServiceDescriptorProto + * @constructor + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + */ + function ServiceDescriptorProto(properties) { + this.method = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.name = ""; + + /** + * ServiceDescriptorProto method. + * @member {Array.} method + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.method = $util.emptyArray; + + /** + * ServiceDescriptorProto options. + * @member {google.protobuf.IServiceOptions|null|undefined} options + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + */ + ServiceDescriptorProto.prototype.options = null; + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto instance + */ + ServiceDescriptorProto.create = function create(properties) { + return new ServiceDescriptorProto(properties); + }; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.method != null && message.method.length) + for (var i = 0; i < message.method.length; ++i) + $root.google.protobuf.MethodDescriptorProto.encode(message.method[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.ServiceOptions.encode(message.options, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.IServiceDescriptorProto} message ServiceDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.method && message.method.length)) + message.method = []; + message.method.push($root.google.protobuf.MethodDescriptorProto.decode(reader, reader.uint32())); + break; + } + case 3: { + message.options = $root.google.protobuf.ServiceOptions.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceDescriptorProto message. + * @function verify + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.method != null && message.hasOwnProperty("method")) { + if (!Array.isArray(message.method)) + return "method: array expected"; + for (var i = 0; i < message.method.length; ++i) { + var error = $root.google.protobuf.MethodDescriptorProto.verify(message.method[i]); + if (error) + return "method." + error; + } + } + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.ServiceOptions.verify(message.options); + if (error) + return "options." + error; + } + return null; + }; + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceDescriptorProto} ServiceDescriptorProto + */ + ServiceDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceDescriptorProto) + return object; + var message = new $root.google.protobuf.ServiceDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.method) { + if (!Array.isArray(object.method)) + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: array expected"); + message.method = []; + for (var i = 0; i < object.method.length; ++i) { + if (typeof object.method[i] !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.method: object expected"); + message.method[i] = $root.google.protobuf.MethodDescriptorProto.fromObject(object.method[i]); + } + } + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.ServiceDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.ServiceOptions.fromObject(object.options); + } + return message; + }; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {google.protobuf.ServiceDescriptorProto} message ServiceDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.method = []; + if (options.defaults) { + object.name = ""; + object.options = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.method && message.method.length) { + object.method = []; + for (var j = 0; j < message.method.length; ++j) + object.method[j] = $root.google.protobuf.MethodDescriptorProto.toObject(message.method[j], options); + } + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.ServiceOptions.toObject(message.options, options); + return object; + }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + ServiceDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.ServiceDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceDescriptorProto"; + }; + + return ServiceDescriptorProto; + })(); + + protobuf.MethodDescriptorProto = (function() { + + /** + * Properties of a MethodDescriptorProto. + * @memberof google.protobuf + * @interface IMethodDescriptorProto + * @property {string|null} [name] MethodDescriptorProto name + * @property {string|null} [inputType] MethodDescriptorProto inputType + * @property {string|null} [outputType] MethodDescriptorProto outputType + * @property {google.protobuf.IMethodOptions|null} [options] MethodDescriptorProto options + * @property {boolean|null} [clientStreaming] MethodDescriptorProto clientStreaming + * @property {boolean|null} [serverStreaming] MethodDescriptorProto serverStreaming + */ + + /** + * Constructs a new MethodDescriptorProto. + * @memberof google.protobuf + * @classdesc Represents a MethodDescriptorProto. + * @implements IMethodDescriptorProto + * @constructor + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + */ + function MethodDescriptorProto(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodDescriptorProto name. + * @member {string} name + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.name = ""; + + /** + * MethodDescriptorProto inputType. + * @member {string} inputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.inputType = ""; + + /** + * MethodDescriptorProto outputType. + * @member {string} outputType + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.outputType = ""; + + /** + * MethodDescriptorProto options. + * @member {google.protobuf.IMethodOptions|null|undefined} options + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.options = null; + + /** + * MethodDescriptorProto clientStreaming. + * @member {boolean} clientStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.clientStreaming = false; + + /** + * MethodDescriptorProto serverStreaming. + * @member {boolean} serverStreaming + * @memberof google.protobuf.MethodDescriptorProto + * @instance + */ + MethodDescriptorProto.prototype.serverStreaming = false; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto=} [properties] Properties to set + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto instance + */ + MethodDescriptorProto.create = function create(properties) { + return new MethodDescriptorProto(properties); + }; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.inputType != null && Object.hasOwnProperty.call(message, "inputType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.inputType); + if (message.outputType != null && Object.hasOwnProperty.call(message, "outputType")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.outputType); + if (message.options != null && Object.hasOwnProperty.call(message, "options")) + $root.google.protobuf.MethodOptions.encode(message.options, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.clientStreaming != null && Object.hasOwnProperty.call(message, "clientStreaming")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.clientStreaming); + if (message.serverStreaming != null && Object.hasOwnProperty.call(message, "serverStreaming")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.serverStreaming); + return writer; + }; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.IMethodDescriptorProto} message MethodDescriptorProto message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodDescriptorProto.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodDescriptorProto(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.inputType = reader.string(); + break; + } + case 3: { + message.outputType = reader.string(); + break; + } + case 4: { + message.options = $root.google.protobuf.MethodOptions.decode(reader, reader.uint32()); + break; + } + case 5: { + message.clientStreaming = reader.bool(); + break; + } + case 6: { + message.serverStreaming = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodDescriptorProto.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodDescriptorProto message. + * @function verify + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodDescriptorProto.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.inputType != null && message.hasOwnProperty("inputType")) + if (!$util.isString(message.inputType)) + return "inputType: string expected"; + if (message.outputType != null && message.hasOwnProperty("outputType")) + if (!$util.isString(message.outputType)) + return "outputType: string expected"; + if (message.options != null && message.hasOwnProperty("options")) { + var error = $root.google.protobuf.MethodOptions.verify(message.options); + if (error) + return "options." + error; + } + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + if (typeof message.clientStreaming !== "boolean") + return "clientStreaming: boolean expected"; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + if (typeof message.serverStreaming !== "boolean") + return "serverStreaming: boolean expected"; + return null; + }; + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodDescriptorProto} MethodDescriptorProto + */ + MethodDescriptorProto.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodDescriptorProto) + return object; + var message = new $root.google.protobuf.MethodDescriptorProto(); + if (object.name != null) + message.name = String(object.name); + if (object.inputType != null) + message.inputType = String(object.inputType); + if (object.outputType != null) + message.outputType = String(object.outputType); + if (object.options != null) { + if (typeof object.options !== "object") + throw TypeError(".google.protobuf.MethodDescriptorProto.options: object expected"); + message.options = $root.google.protobuf.MethodOptions.fromObject(object.options); + } + if (object.clientStreaming != null) + message.clientStreaming = Boolean(object.clientStreaming); + if (object.serverStreaming != null) + message.serverStreaming = Boolean(object.serverStreaming); + return message; + }; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {google.protobuf.MethodDescriptorProto} message MethodDescriptorProto + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodDescriptorProto.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.inputType = ""; + object.outputType = ""; + object.options = null; + object.clientStreaming = false; + object.serverStreaming = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.inputType != null && message.hasOwnProperty("inputType")) + object.inputType = message.inputType; + if (message.outputType != null && message.hasOwnProperty("outputType")) + object.outputType = message.outputType; + if (message.options != null && message.hasOwnProperty("options")) + object.options = $root.google.protobuf.MethodOptions.toObject(message.options, options); + if (message.clientStreaming != null && message.hasOwnProperty("clientStreaming")) + object.clientStreaming = message.clientStreaming; + if (message.serverStreaming != null && message.hasOwnProperty("serverStreaming")) + object.serverStreaming = message.serverStreaming; + return object; + }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @function toJSON + * @memberof google.protobuf.MethodDescriptorProto + * @instance + * @returns {Object.} JSON object + */ + MethodDescriptorProto.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MethodDescriptorProto + * @function getTypeUrl + * @memberof google.protobuf.MethodDescriptorProto + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodDescriptorProto.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodDescriptorProto"; + }; + + return MethodDescriptorProto; + })(); + + protobuf.FileOptions = (function() { + + /** + * Properties of a FileOptions. + * @memberof google.protobuf + * @interface IFileOptions + * @property {string|null} [javaPackage] FileOptions javaPackage + * @property {string|null} [javaOuterClassname] FileOptions javaOuterClassname + * @property {boolean|null} [javaMultipleFiles] FileOptions javaMultipleFiles + * @property {boolean|null} [javaGenerateEqualsAndHash] FileOptions javaGenerateEqualsAndHash + * @property {boolean|null} [javaStringCheckUtf8] FileOptions javaStringCheckUtf8 + * @property {google.protobuf.FileOptions.OptimizeMode|null} [optimizeFor] FileOptions optimizeFor + * @property {string|null} [goPackage] FileOptions goPackage + * @property {boolean|null} [ccGenericServices] FileOptions ccGenericServices + * @property {boolean|null} [javaGenericServices] FileOptions javaGenericServices + * @property {boolean|null} [pyGenericServices] FileOptions pyGenericServices + * @property {boolean|null} [phpGenericServices] FileOptions phpGenericServices + * @property {boolean|null} [deprecated] FileOptions deprecated + * @property {boolean|null} [ccEnableArenas] FileOptions ccEnableArenas + * @property {string|null} [objcClassPrefix] FileOptions objcClassPrefix + * @property {string|null} [csharpNamespace] FileOptions csharpNamespace + * @property {string|null} [swiftPrefix] FileOptions swiftPrefix + * @property {string|null} [phpClassPrefix] FileOptions phpClassPrefix + * @property {string|null} [phpNamespace] FileOptions phpNamespace + * @property {string|null} [phpMetadataNamespace] FileOptions phpMetadataNamespace + * @property {string|null} [rubyPackage] FileOptions rubyPackage + * @property {Array.|null} [uninterpretedOption] FileOptions uninterpretedOption + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions phpGenericServices. + * @member {boolean} phpGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = true; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions phpMetadataNamespace. + * @member {string} phpMetadataNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpMetadataNamespace = ""; + + /** + * FileOptions rubyPackage. + * @member {string} rubyPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.rubyPackage = ""; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) + writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.javaPackage = reader.string(); + break; + } + case 8: { + message.javaOuterClassname = reader.string(); + break; + } + case 10: { + message.javaMultipleFiles = reader.bool(); + break; + } + case 20: { + message.javaGenerateEqualsAndHash = reader.bool(); + break; + } + case 27: { + message.javaStringCheckUtf8 = reader.bool(); + break; + } + case 9: { + message.optimizeFor = reader.int32(); + break; + } + case 11: { + message.goPackage = reader.string(); + break; + } + case 16: { + message.ccGenericServices = reader.bool(); + break; + } + case 17: { + message.javaGenericServices = reader.bool(); + break; + } + case 18: { + message.pyGenericServices = reader.bool(); + break; + } + case 42: { + message.phpGenericServices = reader.bool(); + break; + } + case 23: { + message.deprecated = reader.bool(); + break; + } + case 31: { + message.ccEnableArenas = reader.bool(); + break; + } + case 36: { + message.objcClassPrefix = reader.string(); + break; + } + case 37: { + message.csharpNamespace = reader.string(); + break; + } + case 39: { + message.swiftPrefix = reader.string(); + break; + } + case 40: { + message.phpClassPrefix = reader.string(); + break; + } + case 41: { + message.phpNamespace = reader.string(); + break; + } + case 44: { + message.phpMetadataNamespace = reader.string(); + break; + } + case 45: { + message.rubyPackage = reader.string(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (typeof message.phpGenericServices !== "boolean") + return "phpGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (!$util.isString(message.phpMetadataNamespace)) + return "phpMetadataNamespace: string expected"; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (!$util.isString(message.rubyPackage)) + return "rubyPackage: string expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + default: + if (typeof object.optimizeFor === "number") { + message.optimizeFor = object.optimizeFor; + break; + } + break; + case "SPEED": + case 1: + message.optimizeFor = 1; + break; + case "CODE_SIZE": + case 2: + message.optimizeFor = 2; + break; + case "LITE_RUNTIME": + case 3: + message.optimizeFor = 3; + break; + } + if (object.goPackage != null) + message.goPackage = String(object.goPackage); + if (object.ccGenericServices != null) + message.ccGenericServices = Boolean(object.ccGenericServices); + if (object.javaGenericServices != null) + message.javaGenericServices = Boolean(object.javaGenericServices); + if (object.pyGenericServices != null) + message.pyGenericServices = Boolean(object.pyGenericServices); + if (object.phpGenericServices != null) + message.phpGenericServices = Boolean(object.phpGenericServices); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.ccEnableArenas != null) + message.ccEnableArenas = Boolean(object.ccEnableArenas); + if (object.objcClassPrefix != null) + message.objcClassPrefix = String(object.objcClassPrefix); + if (object.csharpNamespace != null) + message.csharpNamespace = String(object.csharpNamespace); + if (object.swiftPrefix != null) + message.swiftPrefix = String(object.swiftPrefix); + if (object.phpClassPrefix != null) + message.phpClassPrefix = String(object.phpClassPrefix); + if (object.phpNamespace != null) + message.phpNamespace = String(object.phpNamespace); + if (object.phpMetadataNamespace != null) + message.phpMetadataNamespace = String(object.phpMetadataNamespace); + if (object.rubyPackage != null) + message.rubyPackage = String(object.rubyPackage); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FileOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = true; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpGenericServices = false; + object.phpMetadataNamespace = ""; + object.rubyPackage = ""; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === undefined ? message.optimizeFor : $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] : message.optimizeFor; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + object.javaMultipleFiles = message.javaMultipleFiles; + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + object.goPackage = message.goPackage; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + object.ccGenericServices = message.ccGenericServices; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + object.javaGenericServices = message.javaGenericServices; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + object.pyGenericServices = message.pyGenericServices; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + object.javaGenerateEqualsAndHash = message.javaGenerateEqualsAndHash; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + object.javaStringCheckUtf8 = message.javaStringCheckUtf8; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + object.ccEnableArenas = message.ccEnableArenas; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + object.objcClassPrefix = message.objcClassPrefix; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + object.csharpNamespace = message.csharpNamespace; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + object.swiftPrefix = message.swiftPrefix; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + object.phpClassPrefix = message.phpClassPrefix; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + object.phpNamespace = message.phpNamespace; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + object.phpGenericServices = message.phpGenericServices; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + object.phpMetadataNamespace = message.phpMetadataNamespace; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + object.rubyPackage = message.rubyPackage; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FileOptions + * @function getTypeUrl + * @memberof google.protobuf.FileOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FileOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FileOptions"; + }; + + /** + * OptimizeMode enum. + * @name google.protobuf.FileOptions.OptimizeMode + * @enum {number} + * @property {number} SPEED=1 SPEED value + * @property {number} CODE_SIZE=2 CODE_SIZE value + * @property {number} LITE_RUNTIME=3 LITE_RUNTIME value + */ + FileOptions.OptimizeMode = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[1] = "SPEED"] = 1; + values[valuesById[2] = "CODE_SIZE"] = 2; + values[valuesById[3] = "LITE_RUNTIME"] = 3; + return values; + })(); + + return FileOptions; + })(); + + protobuf.MessageOptions = (function() { + + /** + * Properties of a MessageOptions. + * @memberof google.protobuf + * @interface IMessageOptions + * @property {boolean|null} [messageSetWireFormat] MessageOptions messageSetWireFormat + * @property {boolean|null} [noStandardDescriptorAccessor] MessageOptions noStandardDescriptorAccessor + * @property {boolean|null} [deprecated] MessageOptions deprecated + * @property {boolean|null} [mapEntry] MessageOptions mapEntry + * @property {Array.|null} [uninterpretedOption] MessageOptions uninterpretedOption + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.messageSetWireFormat = reader.bool(); + break; + } + case 2: { + message.noStandardDescriptorAccessor = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 7: { + message.mapEntry = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MessageOptions + * @function getTypeUrl + * @memberof google.protobuf.MessageOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MessageOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MessageOptions"; + }; + + return MessageOptions; + })(); + + protobuf.FieldOptions = (function() { + + /** + * Properties of a FieldOptions. + * @memberof google.protobuf + * @interface IFieldOptions + * @property {google.protobuf.FieldOptions.CType|null} [ctype] FieldOptions ctype + * @property {boolean|null} [packed] FieldOptions packed + * @property {google.protobuf.FieldOptions.JSType|null} [jstype] FieldOptions jstype + * @property {boolean|null} [lazy] FieldOptions lazy + * @property {boolean|null} [unverifiedLazy] FieldOptions unverifiedLazy + * @property {boolean|null} [deprecated] FieldOptions deprecated + * @property {boolean|null} [weak] FieldOptions weak + * @property {Array.|null} [uninterpretedOption] FieldOptions uninterpretedOption + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions unverifiedLazy. + * @member {boolean} unverifiedLazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.unverifiedLazy = false; + + /** + * FieldOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.deprecated = false; + + /** + * FieldOptions weak. + * @member {boolean} weak + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.weak = false; + + /** + * FieldOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.unverifiedLazy != null && Object.hasOwnProperty.call(message, "unverifiedLazy")) + writer.uint32(/* id 15, wireType 0 =*/120).bool(message.unverifiedLazy); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.ctype = reader.int32(); + break; + } + case 2: { + message.packed = reader.bool(); + break; + } + case 6: { + message.jstype = reader.int32(); + break; + } + case 5: { + message.lazy = reader.bool(); + break; + } + case 15: { + message.unverifiedLazy = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 10: { + message.weak = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + if (typeof message.unverifiedLazy !== "boolean") + return "unverifiedLazy: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.weak != null && message.hasOwnProperty("weak")) + if (typeof message.weak !== "boolean") + return "weak: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + default: + if (typeof object.ctype === "number") { + message.ctype = object.ctype; + break; + } + break; + case "STRING": + case 0: + message.ctype = 0; + break; + case "CORD": + case 1: + message.ctype = 1; + break; + case "STRING_PIECE": + case 2: + message.ctype = 2; + break; + } + if (object.packed != null) + message.packed = Boolean(object.packed); + switch (object.jstype) { + default: + if (typeof object.jstype === "number") { + message.jstype = object.jstype; + break; + } + break; + case "JS_NORMAL": + case 0: + message.jstype = 0; + break; + case "JS_STRING": + case 1: + message.jstype = 1; + break; + case "JS_NUMBER": + case 2: + message.jstype = 2; + break; + } + if (object.lazy != null) + message.lazy = Boolean(object.lazy); + if (object.unverifiedLazy != null) + message.unverifiedLazy = Boolean(object.unverifiedLazy); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.weak != null) + message.weak = Boolean(object.weak); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.FieldOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object.unverifiedLazy = false; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === undefined ? message.ctype : $root.google.protobuf.FieldOptions.CType[message.ctype] : message.ctype; + if (message.packed != null && message.hasOwnProperty("packed")) + object.packed = message.packed; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.lazy != null && message.hasOwnProperty("lazy")) + object.lazy = message.lazy; + if (message.jstype != null && message.hasOwnProperty("jstype")) + object.jstype = options.enums === String ? $root.google.protobuf.FieldOptions.JSType[message.jstype] === undefined ? message.jstype : $root.google.protobuf.FieldOptions.JSType[message.jstype] : message.jstype; + if (message.weak != null && message.hasOwnProperty("weak")) + object.weak = message.weak; + if (message.unverifiedLazy != null && message.hasOwnProperty("unverifiedLazy")) + object.unverifiedLazy = message.unverifiedLazy; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this FieldOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FieldOptions + * @instance + * @returns {Object.} JSON object + */ + FieldOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldOptions + * @function getTypeUrl + * @memberof google.protobuf.FieldOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldOptions"; + }; + + /** + * CType enum. + * @name google.protobuf.FieldOptions.CType + * @enum {number} + * @property {number} STRING=0 STRING value + * @property {number} CORD=1 CORD value + * @property {number} STRING_PIECE=2 STRING_PIECE value + */ + FieldOptions.CType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "CORD"] = 1; + values[valuesById[2] = "STRING_PIECE"] = 2; + return values; + })(); + + /** + * JSType enum. + * @name google.protobuf.FieldOptions.JSType + * @enum {number} + * @property {number} JS_NORMAL=0 JS_NORMAL value + * @property {number} JS_STRING=1 JS_STRING value + * @property {number} JS_NUMBER=2 JS_NUMBER value + */ + FieldOptions.JSType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "JS_NORMAL"] = 0; + values[valuesById[1] = "JS_STRING"] = 1; + values[valuesById[2] = "JS_NUMBER"] = 2; + return values; + })(); + + return FieldOptions; + })(); + + protobuf.OneofOptions = (function() { + + /** + * Properties of an OneofOptions. + * @memberof google.protobuf + * @interface IOneofOptions + * @property {Array.|null} [uninterpretedOption] OneofOptions uninterpretedOption + */ + + /** + * Constructs a new OneofOptions. + * @memberof google.protobuf + * @classdesc Represents an OneofOptions. + * @implements IOneofOptions + * @constructor + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + */ + function OneofOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OneofOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.OneofOptions + * @instance + */ + OneofOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions=} [properties] Properties to set + * @returns {google.protobuf.OneofOptions} OneofOptions instance + */ + OneofOptions.create = function create(properties) { + return new OneofOptions(properties); + }; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.IOneofOptions} message OneofOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OneofOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.OneofOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.OneofOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.OneofOptions} OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OneofOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OneofOptions message. + * @function verify + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OneofOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.OneofOptions} OneofOptions + */ + OneofOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.OneofOptions) + return object; + var message = new $root.google.protobuf.OneofOptions(); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.OneofOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.OneofOptions + * @static + * @param {google.protobuf.OneofOptions} message OneofOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OneofOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this OneofOptions to JSON. + * @function toJSON + * @memberof google.protobuf.OneofOptions + * @instance + * @returns {Object.} JSON object + */ + OneofOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OneofOptions + * @function getTypeUrl + * @memberof google.protobuf.OneofOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OneofOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.OneofOptions"; + }; + + return OneofOptions; + })(); + + protobuf.EnumOptions = (function() { + + /** + * Properties of an EnumOptions. + * @memberof google.protobuf + * @interface IEnumOptions + * @property {boolean|null} [allowAlias] EnumOptions allowAlias + * @property {boolean|null} [deprecated] EnumOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumOptions uninterpretedOption + */ + + /** + * Constructs a new EnumOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumOptions. + * @implements IEnumOptions + * @constructor + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + */ + function EnumOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumOptions allowAlias. + * @member {boolean} allowAlias + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.allowAlias = false; + + /** + * EnumOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.deprecated = false; + + /** + * EnumOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumOptions + * @instance + */ + EnumOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumOptions} EnumOptions instance + */ + EnumOptions.create = function create(properties) { + return new EnumOptions(properties); + }; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.allowAlias != null && Object.hasOwnProperty.call(message, "allowAlias")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowAlias); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.IEnumOptions} message EnumOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + message.allowAlias = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumOptions} EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumOptions message. + * @function verify + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + if (typeof message.allowAlias !== "boolean") + return "allowAlias: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumOptions} EnumOptions + */ + EnumOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumOptions) + return object; + var message = new $root.google.protobuf.EnumOptions(); + if (object.allowAlias != null) + message.allowAlias = Boolean(object.allowAlias); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumOptions + * @static + * @param {google.protobuf.EnumOptions} message EnumOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.allowAlias = false; + object.deprecated = false; + } + if (message.allowAlias != null && message.hasOwnProperty("allowAlias")) + object.allowAlias = message.allowAlias; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumOptions + * @instance + * @returns {Object.} JSON object + */ + EnumOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumOptions"; + }; + + return EnumOptions; + })(); + + protobuf.EnumValueOptions = (function() { + + /** + * Properties of an EnumValueOptions. + * @memberof google.protobuf + * @interface IEnumValueOptions + * @property {boolean|null} [deprecated] EnumValueOptions deprecated + * @property {Array.|null} [uninterpretedOption] EnumValueOptions uninterpretedOption + */ + + /** + * Constructs a new EnumValueOptions. + * @memberof google.protobuf + * @classdesc Represents an EnumValueOptions. + * @implements IEnumValueOptions + * @constructor + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + */ + function EnumValueOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnumValueOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.deprecated = false; + + /** + * EnumValueOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.EnumValueOptions + * @instance + */ + EnumValueOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions=} [properties] Properties to set + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions instance + */ + EnumValueOptions.create = function create(properties) { + return new EnumValueOptions(properties); + }; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.IEnumValueOptions} message EnumValueOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnumValueOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.EnumValueOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnumValueOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnumValueOptions message. + * @function verify + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnumValueOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + return null; + }; + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.EnumValueOptions} EnumValueOptions + */ + EnumValueOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.EnumValueOptions) + return object; + var message = new $root.google.protobuf.EnumValueOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.EnumValueOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {google.protobuf.EnumValueOptions} message EnumValueOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnumValueOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) + object.deprecated = false; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + return object; + }; + + /** + * Converts this EnumValueOptions to JSON. + * @function toJSON + * @memberof google.protobuf.EnumValueOptions + * @instance + * @returns {Object.} JSON object + */ + EnumValueOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnumValueOptions + * @function getTypeUrl + * @memberof google.protobuf.EnumValueOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnumValueOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.EnumValueOptions"; + }; + + return EnumValueOptions; + })(); + + protobuf.ServiceOptions = (function() { + + /** + * Properties of a ServiceOptions. + * @memberof google.protobuf + * @interface IServiceOptions + * @property {boolean|null} [deprecated] ServiceOptions deprecated + * @property {Array.|null} [uninterpretedOption] ServiceOptions uninterpretedOption + * @property {string|null} [".google.api.defaultHost"] ServiceOptions .google.api.defaultHost + * @property {string|null} [".google.api.oauthScopes"] ServiceOptions .google.api.oauthScopes + */ + + /** + * Constructs a new ServiceOptions. + * @memberof google.protobuf + * @classdesc Represents a ServiceOptions. + * @implements IServiceOptions + * @constructor + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + */ + function ServiceOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.deprecated = false; + + /** + * ServiceOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * ServiceOptions .google.api.defaultHost. + * @member {string} .google.api.defaultHost + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.defaultHost"] = ""; + + /** + * ServiceOptions .google.api.oauthScopes. + * @member {string} .google.api.oauthScopes + * @memberof google.protobuf.ServiceOptions + * @instance + */ + ServiceOptions.prototype[".google.api.oauthScopes"] = ""; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions=} [properties] Properties to set + * @returns {google.protobuf.ServiceOptions} ServiceOptions instance + */ + ServiceOptions.create = function create(properties) { + return new ServiceOptions(properties); + }; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.defaultHost"] != null && Object.hasOwnProperty.call(message, ".google.api.defaultHost")) + writer.uint32(/* id 1049, wireType 2 =*/8394).string(message[".google.api.defaultHost"]); + if (message[".google.api.oauthScopes"] != null && Object.hasOwnProperty.call(message, ".google.api.oauthScopes")) + writer.uint32(/* id 1050, wireType 2 =*/8402).string(message[".google.api.oauthScopes"]); + return writer; + }; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.IServiceOptions} message ServiceOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.ServiceOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: { + message.deprecated = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1049: { + message[".google.api.defaultHost"] = reader.string(); + break; + } + case 1050: { + message[".google.api.oauthScopes"] = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.ServiceOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.ServiceOptions} ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceOptions message. + * @function verify + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + if (!$util.isString(message[".google.api.defaultHost"])) + return ".google.api.defaultHost: string expected"; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + if (!$util.isString(message[".google.api.oauthScopes"])) + return ".google.api.oauthScopes: string expected"; + return null; + }; + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.ServiceOptions} ServiceOptions + */ + ServiceOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.ServiceOptions) + return object; + var message = new $root.google.protobuf.ServiceOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.ServiceOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.defaultHost"] != null) + message[".google.api.defaultHost"] = String(object[".google.api.defaultHost"]); + if (object[".google.api.oauthScopes"] != null) + message[".google.api.oauthScopes"] = String(object[".google.api.oauthScopes"]); + return message; + }; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.ServiceOptions + * @static + * @param {google.protobuf.ServiceOptions} message ServiceOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.deprecated = false; + object[".google.api.defaultHost"] = ""; + object[".google.api.oauthScopes"] = ""; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.defaultHost"] != null && message.hasOwnProperty(".google.api.defaultHost")) + object[".google.api.defaultHost"] = message[".google.api.defaultHost"]; + if (message[".google.api.oauthScopes"] != null && message.hasOwnProperty(".google.api.oauthScopes")) + object[".google.api.oauthScopes"] = message[".google.api.oauthScopes"]; + return object; + }; + + /** + * Converts this ServiceOptions to JSON. + * @function toJSON + * @memberof google.protobuf.ServiceOptions + * @instance + * @returns {Object.} JSON object + */ + ServiceOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceOptions + * @function getTypeUrl + * @memberof google.protobuf.ServiceOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.ServiceOptions"; + }; + + return ServiceOptions; + })(); + + protobuf.MethodOptions = (function() { + + /** + * Properties of a MethodOptions. + * @memberof google.protobuf + * @interface IMethodOptions + * @property {boolean|null} [deprecated] MethodOptions deprecated + * @property {google.protobuf.MethodOptions.IdempotencyLevel|null} [idempotencyLevel] MethodOptions idempotencyLevel + * @property {Array.|null} [uninterpretedOption] MethodOptions uninterpretedOption + * @property {google.api.IHttpRule|null} [".google.api.http"] MethodOptions .google.api.http + * @property {Array.|null} [".google.api.methodSignature"] MethodOptions .google.api.methodSignature + * @property {google.longrunning.IOperationInfo|null} [".google.longrunning.operationInfo"] MethodOptions .google.longrunning.operationInfo + */ + + /** + * Constructs a new MethodOptions. + * @memberof google.protobuf + * @classdesc Represents a MethodOptions. + * @implements IMethodOptions + * @constructor + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + */ + function MethodOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.methodSignature"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MethodOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.deprecated = false; + + /** + * MethodOptions idempotencyLevel. + * @member {google.protobuf.MethodOptions.IdempotencyLevel} idempotencyLevel + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.idempotencyLevel = 0; + + /** + * MethodOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MethodOptions .google.api.http. + * @member {google.api.IHttpRule|null|undefined} .google.api.http + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.http"] = null; + + /** + * MethodOptions .google.api.methodSignature. + * @member {Array.} .google.api.methodSignature + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.api.methodSignature"] = $util.emptyArray; + + /** + * MethodOptions .google.longrunning.operationInfo. + * @member {google.longrunning.IOperationInfo|null|undefined} .google.longrunning.operationInfo + * @memberof google.protobuf.MethodOptions + * @instance + */ + MethodOptions.prototype[".google.longrunning.operationInfo"] = null; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions=} [properties] Properties to set + * @returns {google.protobuf.MethodOptions} MethodOptions instance + */ + MethodOptions.create = function create(properties) { + return new MethodOptions(properties); + }; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 33, wireType 0 =*/264).bool(message.deprecated); + if (message.idempotencyLevel != null && Object.hasOwnProperty.call(message, "idempotencyLevel")) + writer.uint32(/* id 34, wireType 0 =*/272).int32(message.idempotencyLevel); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.longrunning.operationInfo"] != null && Object.hasOwnProperty.call(message, ".google.longrunning.operationInfo")) + $root.google.longrunning.OperationInfo.encode(message[".google.longrunning.operationInfo"], writer.uint32(/* id 1049, wireType 2 =*/8394).fork()).ldelim(); + if (message[".google.api.methodSignature"] != null && message[".google.api.methodSignature"].length) + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + writer.uint32(/* id 1051, wireType 2 =*/8410).string(message[".google.api.methodSignature"][i]); + if (message[".google.api.http"] != null && Object.hasOwnProperty.call(message, ".google.api.http")) + $root.google.api.HttpRule.encode(message[".google.api.http"], writer.uint32(/* id 72295728, wireType 2 =*/578365826).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.IMethodOptions} message MethodOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MethodOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MethodOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 33: { + message.deprecated = reader.bool(); + break; + } + case 34: { + message.idempotencyLevel = reader.int32(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 72295728: { + message[".google.api.http"] = $root.google.api.HttpRule.decode(reader, reader.uint32()); + break; + } + case 1051: { + if (!(message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length)) + message[".google.api.methodSignature"] = []; + message[".google.api.methodSignature"].push(reader.string()); + break; + } + case 1049: { + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MethodOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MethodOptions} MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MethodOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MethodOptions message. + * @function verify + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MethodOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + switch (message.idempotencyLevel) { + default: + return "idempotencyLevel: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) { + var error = $root.google.api.HttpRule.verify(message[".google.api.http"]); + if (error) + return ".google.api.http." + error; + } + if (message[".google.api.methodSignature"] != null && message.hasOwnProperty(".google.api.methodSignature")) { + if (!Array.isArray(message[".google.api.methodSignature"])) + return ".google.api.methodSignature: array expected"; + for (var i = 0; i < message[".google.api.methodSignature"].length; ++i) + if (!$util.isString(message[".google.api.methodSignature"][i])) + return ".google.api.methodSignature: string[] expected"; + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) { + var error = $root.google.longrunning.OperationInfo.verify(message[".google.longrunning.operationInfo"]); + if (error) + return ".google.longrunning.operationInfo." + error; + } + return null; + }; + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MethodOptions} MethodOptions + */ + MethodOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MethodOptions) + return object; + var message = new $root.google.protobuf.MethodOptions(); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + switch (object.idempotencyLevel) { + default: + if (typeof object.idempotencyLevel === "number") { + message.idempotencyLevel = object.idempotencyLevel; + break; + } + break; + case "IDEMPOTENCY_UNKNOWN": + case 0: + message.idempotencyLevel = 0; + break; + case "NO_SIDE_EFFECTS": + case 1: + message.idempotencyLevel = 1; + break; + case "IDEMPOTENT": + case 2: + message.idempotencyLevel = 2; + break; + } + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MethodOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.http"] != null) { + if (typeof object[".google.api.http"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.api.http: object expected"); + message[".google.api.http"] = $root.google.api.HttpRule.fromObject(object[".google.api.http"]); + } + if (object[".google.api.methodSignature"]) { + if (!Array.isArray(object[".google.api.methodSignature"])) + throw TypeError(".google.protobuf.MethodOptions..google.api.methodSignature: array expected"); + message[".google.api.methodSignature"] = []; + for (var i = 0; i < object[".google.api.methodSignature"].length; ++i) + message[".google.api.methodSignature"][i] = String(object[".google.api.methodSignature"][i]); + } + if (object[".google.longrunning.operationInfo"] != null) { + if (typeof object[".google.longrunning.operationInfo"] !== "object") + throw TypeError(".google.protobuf.MethodOptions..google.longrunning.operationInfo: object expected"); + message[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.fromObject(object[".google.longrunning.operationInfo"]); + } + return message; + }; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MethodOptions + * @static + * @param {google.protobuf.MethodOptions} message MethodOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MethodOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.methodSignature"] = []; + } + if (options.defaults) { + object.deprecated = false; + object.idempotencyLevel = options.enums === String ? "IDEMPOTENCY_UNKNOWN" : 0; + object[".google.longrunning.operationInfo"] = null; + object[".google.api.http"] = null; + } + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.idempotencyLevel != null && message.hasOwnProperty("idempotencyLevel")) + object.idempotencyLevel = options.enums === String ? $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] === undefined ? message.idempotencyLevel : $root.google.protobuf.MethodOptions.IdempotencyLevel[message.idempotencyLevel] : message.idempotencyLevel; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.longrunning.operationInfo"] != null && message.hasOwnProperty(".google.longrunning.operationInfo")) + object[".google.longrunning.operationInfo"] = $root.google.longrunning.OperationInfo.toObject(message[".google.longrunning.operationInfo"], options); + if (message[".google.api.methodSignature"] && message[".google.api.methodSignature"].length) { + object[".google.api.methodSignature"] = []; + for (var j = 0; j < message[".google.api.methodSignature"].length; ++j) + object[".google.api.methodSignature"][j] = message[".google.api.methodSignature"][j]; + } + if (message[".google.api.http"] != null && message.hasOwnProperty(".google.api.http")) + object[".google.api.http"] = $root.google.api.HttpRule.toObject(message[".google.api.http"], options); + return object; + }; + + /** + * Converts this MethodOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MethodOptions + * @instance + * @returns {Object.} JSON object + */ + MethodOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MethodOptions + * @function getTypeUrl + * @memberof google.protobuf.MethodOptions + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MethodOptions.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.MethodOptions"; + }; + + /** + * IdempotencyLevel enum. + * @name google.protobuf.MethodOptions.IdempotencyLevel + * @enum {number} + * @property {number} IDEMPOTENCY_UNKNOWN=0 IDEMPOTENCY_UNKNOWN value + * @property {number} NO_SIDE_EFFECTS=1 NO_SIDE_EFFECTS value + * @property {number} IDEMPOTENT=2 IDEMPOTENT value + */ + MethodOptions.IdempotencyLevel = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDEMPOTENCY_UNKNOWN"] = 0; + values[valuesById[1] = "NO_SIDE_EFFECTS"] = 1; + values[valuesById[2] = "IDEMPOTENT"] = 2; + return values; + })(); + + return MethodOptions; + })(); + + protobuf.UninterpretedOption = (function() { + + /** + * Properties of an UninterpretedOption. + * @memberof google.protobuf + * @interface IUninterpretedOption + * @property {Array.|null} [name] UninterpretedOption name + * @property {string|null} [identifierValue] UninterpretedOption identifierValue + * @property {number|Long|null} [positiveIntValue] UninterpretedOption positiveIntValue + * @property {number|Long|null} [negativeIntValue] UninterpretedOption negativeIntValue + * @property {number|null} [doubleValue] UninterpretedOption doubleValue + * @property {Uint8Array|null} [stringValue] UninterpretedOption stringValue + * @property {string|null} [aggregateValue] UninterpretedOption aggregateValue + */ + + /** + * Constructs a new UninterpretedOption. + * @memberof google.protobuf + * @classdesc Represents an UninterpretedOption. + * @implements IUninterpretedOption + * @constructor + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + */ + function UninterpretedOption(properties) { + this.name = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UninterpretedOption name. + * @member {Array.} name + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.name = $util.emptyArray; + + /** + * UninterpretedOption identifierValue. + * @member {string} identifierValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.identifierValue = ""; + + /** + * UninterpretedOption positiveIntValue. + * @member {number|Long} positiveIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.positiveIntValue = $util.Long ? $util.Long.fromBits(0,0,true) : 0; + + /** + * UninterpretedOption negativeIntValue. + * @member {number|Long} negativeIntValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.negativeIntValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * UninterpretedOption doubleValue. + * @member {number} doubleValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.doubleValue = 0; + + /** + * UninterpretedOption stringValue. + * @member {Uint8Array} stringValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.stringValue = $util.newBuffer([]); + + /** + * UninterpretedOption aggregateValue. + * @member {string} aggregateValue + * @memberof google.protobuf.UninterpretedOption + * @instance + */ + UninterpretedOption.prototype.aggregateValue = ""; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption instance + */ + UninterpretedOption.create = function create(properties) { + return new UninterpretedOption(properties); + }; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && message.name.length) + for (var i = 0; i < message.name.length; ++i) + $root.google.protobuf.UninterpretedOption.NamePart.encode(message.name[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.identifierValue != null && Object.hasOwnProperty.call(message, "identifierValue")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.identifierValue); + if (message.positiveIntValue != null && Object.hasOwnProperty.call(message, "positiveIntValue")) + writer.uint32(/* id 4, wireType 0 =*/32).uint64(message.positiveIntValue); + if (message.negativeIntValue != null && Object.hasOwnProperty.call(message, "negativeIntValue")) + writer.uint32(/* id 5, wireType 0 =*/40).int64(message.negativeIntValue); + if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue")) + writer.uint32(/* id 6, wireType 1 =*/49).double(message.doubleValue); + if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue")) + writer.uint32(/* id 7, wireType 2 =*/58).bytes(message.stringValue); + if (message.aggregateValue != null && Object.hasOwnProperty.call(message, "aggregateValue")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.aggregateValue); + return writer; + }; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.IUninterpretedOption} message UninterpretedOption message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UninterpretedOption.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (!(message.name && message.name.length)) + message.name = []; + message.name.push($root.google.protobuf.UninterpretedOption.NamePart.decode(reader, reader.uint32())); + break; + } + case 3: { + message.identifierValue = reader.string(); + break; + } + case 4: { + message.positiveIntValue = reader.uint64(); + break; + } + case 5: { + message.negativeIntValue = reader.int64(); + break; + } + case 6: { + message.doubleValue = reader.double(); + break; + } + case 7: { + message.stringValue = reader.bytes(); + break; + } + case 8: { + message.aggregateValue = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UninterpretedOption.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UninterpretedOption message. + * @function verify + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UninterpretedOption.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) { + if (!Array.isArray(message.name)) + return "name: array expected"; + for (var i = 0; i < message.name.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.NamePart.verify(message.name[i]); + if (error) + return "name." + error; + } + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + if (!$util.isString(message.identifierValue)) + return "identifierValue: string expected"; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (!$util.isInteger(message.positiveIntValue) && !(message.positiveIntValue && $util.isInteger(message.positiveIntValue.low) && $util.isInteger(message.positiveIntValue.high))) + return "positiveIntValue: integer|Long expected"; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (!$util.isInteger(message.negativeIntValue) && !(message.negativeIntValue && $util.isInteger(message.negativeIntValue.low) && $util.isInteger(message.negativeIntValue.high))) + return "negativeIntValue: integer|Long expected"; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + if (typeof message.doubleValue !== "number") + return "doubleValue: number expected"; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + if (!(message.stringValue && typeof message.stringValue.length === "number" || $util.isString(message.stringValue))) + return "stringValue: buffer expected"; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + if (!$util.isString(message.aggregateValue)) + return "aggregateValue: string expected"; + return null; + }; + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption} UninterpretedOption + */ + UninterpretedOption.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption) + return object; + var message = new $root.google.protobuf.UninterpretedOption(); + if (object.name) { + if (!Array.isArray(object.name)) + throw TypeError(".google.protobuf.UninterpretedOption.name: array expected"); + message.name = []; + for (var i = 0; i < object.name.length; ++i) { + if (typeof object.name[i] !== "object") + throw TypeError(".google.protobuf.UninterpretedOption.name: object expected"); + message.name[i] = $root.google.protobuf.UninterpretedOption.NamePart.fromObject(object.name[i]); + } + } + if (object.identifierValue != null) + message.identifierValue = String(object.identifierValue); + if (object.positiveIntValue != null) + if ($util.Long) + (message.positiveIntValue = $util.Long.fromValue(object.positiveIntValue)).unsigned = true; + else if (typeof object.positiveIntValue === "string") + message.positiveIntValue = parseInt(object.positiveIntValue, 10); + else if (typeof object.positiveIntValue === "number") + message.positiveIntValue = object.positiveIntValue; + else if (typeof object.positiveIntValue === "object") + message.positiveIntValue = new $util.LongBits(object.positiveIntValue.low >>> 0, object.positiveIntValue.high >>> 0).toNumber(true); + if (object.negativeIntValue != null) + if ($util.Long) + (message.negativeIntValue = $util.Long.fromValue(object.negativeIntValue)).unsigned = false; + else if (typeof object.negativeIntValue === "string") + message.negativeIntValue = parseInt(object.negativeIntValue, 10); + else if (typeof object.negativeIntValue === "number") + message.negativeIntValue = object.negativeIntValue; + else if (typeof object.negativeIntValue === "object") + message.negativeIntValue = new $util.LongBits(object.negativeIntValue.low >>> 0, object.negativeIntValue.high >>> 0).toNumber(); + if (object.doubleValue != null) + message.doubleValue = Number(object.doubleValue); + if (object.stringValue != null) + if (typeof object.stringValue === "string") + $util.base64.decode(object.stringValue, message.stringValue = $util.newBuffer($util.base64.length(object.stringValue)), 0); + else if (object.stringValue.length >= 0) + message.stringValue = object.stringValue; + if (object.aggregateValue != null) + message.aggregateValue = String(object.aggregateValue); + return message; + }; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {google.protobuf.UninterpretedOption} message UninterpretedOption + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UninterpretedOption.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.name = []; + if (options.defaults) { + object.identifierValue = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, true); + object.positiveIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.positiveIntValue = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.negativeIntValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.negativeIntValue = options.longs === String ? "0" : 0; + object.doubleValue = 0; + if (options.bytes === String) + object.stringValue = ""; + else { + object.stringValue = []; + if (options.bytes !== Array) + object.stringValue = $util.newBuffer(object.stringValue); + } + object.aggregateValue = ""; + } + if (message.name && message.name.length) { + object.name = []; + for (var j = 0; j < message.name.length; ++j) + object.name[j] = $root.google.protobuf.UninterpretedOption.NamePart.toObject(message.name[j], options); + } + if (message.identifierValue != null && message.hasOwnProperty("identifierValue")) + object.identifierValue = message.identifierValue; + if (message.positiveIntValue != null && message.hasOwnProperty("positiveIntValue")) + if (typeof message.positiveIntValue === "number") + object.positiveIntValue = options.longs === String ? String(message.positiveIntValue) : message.positiveIntValue; + else + object.positiveIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.positiveIntValue) : options.longs === Number ? new $util.LongBits(message.positiveIntValue.low >>> 0, message.positiveIntValue.high >>> 0).toNumber(true) : message.positiveIntValue; + if (message.negativeIntValue != null && message.hasOwnProperty("negativeIntValue")) + if (typeof message.negativeIntValue === "number") + object.negativeIntValue = options.longs === String ? String(message.negativeIntValue) : message.negativeIntValue; + else + object.negativeIntValue = options.longs === String ? $util.Long.prototype.toString.call(message.negativeIntValue) : options.longs === Number ? new $util.LongBits(message.negativeIntValue.low >>> 0, message.negativeIntValue.high >>> 0).toNumber() : message.negativeIntValue; + if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) + object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue; + if (message.stringValue != null && message.hasOwnProperty("stringValue")) + object.stringValue = options.bytes === String ? $util.base64.encode(message.stringValue, 0, message.stringValue.length) : options.bytes === Array ? Array.prototype.slice.call(message.stringValue) : message.stringValue; + if (message.aggregateValue != null && message.hasOwnProperty("aggregateValue")) + object.aggregateValue = message.aggregateValue; + return object; + }; + + /** + * Converts this UninterpretedOption to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption + * @instance + * @returns {Object.} JSON object + */ + UninterpretedOption.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UninterpretedOption + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UninterpretedOption.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption"; + }; + + UninterpretedOption.NamePart = (function() { + + /** + * Properties of a NamePart. + * @memberof google.protobuf.UninterpretedOption + * @interface INamePart + * @property {string} namePart NamePart namePart + * @property {boolean} isExtension NamePart isExtension + */ + + /** + * Constructs a new NamePart. + * @memberof google.protobuf.UninterpretedOption + * @classdesc Represents a NamePart. + * @implements INamePart + * @constructor + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + */ + function NamePart(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * NamePart namePart. + * @member {string} namePart + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.namePart = ""; + + /** + * NamePart isExtension. + * @member {boolean} isExtension + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + */ + NamePart.prototype.isExtension = false; + + /** + * Creates a new NamePart instance using the specified properties. + * @function create + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart=} [properties] Properties to set + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart instance + */ + NamePart.create = function create(properties) { + return new NamePart(properties); + }; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + writer.uint32(/* id 1, wireType 2 =*/10).string(message.namePart); + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.isExtension); + return writer; + }; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.INamePart} message NamePart message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + NamePart.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.UninterpretedOption.NamePart(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.namePart = reader.string(); + break; + } + case 2: { + message.isExtension = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + if (!message.hasOwnProperty("namePart")) + throw $util.ProtocolError("missing required 'namePart'", { instance: message }); + if (!message.hasOwnProperty("isExtension")) + throw $util.ProtocolError("missing required 'isExtension'", { instance: message }); + return message; + }; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + NamePart.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a NamePart message. + * @function verify + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + NamePart.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (!$util.isString(message.namePart)) + return "namePart: string expected"; + if (typeof message.isExtension !== "boolean") + return "isExtension: boolean expected"; + return null; + }; + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.UninterpretedOption.NamePart} NamePart + */ + NamePart.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.UninterpretedOption.NamePart) + return object; + var message = new $root.google.protobuf.UninterpretedOption.NamePart(); + if (object.namePart != null) + message.namePart = String(object.namePart); + if (object.isExtension != null) + message.isExtension = Boolean(object.isExtension); + return message; + }; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {google.protobuf.UninterpretedOption.NamePart} message NamePart + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + NamePart.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.namePart = ""; + object.isExtension = false; + } + if (message.namePart != null && message.hasOwnProperty("namePart")) + object.namePart = message.namePart; + if (message.isExtension != null && message.hasOwnProperty("isExtension")) + object.isExtension = message.isExtension; + return object; + }; + + /** + * Converts this NamePart to JSON. + * @function toJSON + * @memberof google.protobuf.UninterpretedOption.NamePart + * @instance + * @returns {Object.} JSON object + */ + NamePart.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for NamePart + * @function getTypeUrl + * @memberof google.protobuf.UninterpretedOption.NamePart + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + NamePart.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.UninterpretedOption.NamePart"; + }; + + return NamePart; + })(); + + return UninterpretedOption; + })(); + + protobuf.SourceCodeInfo = (function() { + + /** + * Properties of a SourceCodeInfo. + * @memberof google.protobuf + * @interface ISourceCodeInfo + * @property {Array.|null} [location] SourceCodeInfo location + */ + + /** + * Constructs a new SourceCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a SourceCodeInfo. + * @implements ISourceCodeInfo + * @constructor + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + */ + function SourceCodeInfo(properties) { + this.location = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SourceCodeInfo location. + * @member {Array.} location + * @memberof google.protobuf.SourceCodeInfo + * @instance + */ + SourceCodeInfo.prototype.location = $util.emptyArray; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo instance + */ + SourceCodeInfo.create = function create(properties) { + return new SourceCodeInfo(properties); + }; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.location != null && message.location.length) + for (var i = 0; i < message.location.length; ++i) + $root.google.protobuf.SourceCodeInfo.Location.encode(message.location[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.ISourceCodeInfo} message SourceCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SourceCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.location && message.location.length)) + message.location = []; + message.location.push($root.google.protobuf.SourceCodeInfo.Location.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SourceCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SourceCodeInfo message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SourceCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.location != null && message.hasOwnProperty("location")) { + if (!Array.isArray(message.location)) + return "location: array expected"; + for (var i = 0; i < message.location.length; ++i) { + var error = $root.google.protobuf.SourceCodeInfo.Location.verify(message.location[i]); + if (error) + return "location." + error; + } + } + return null; + }; + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo} SourceCodeInfo + */ + SourceCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo) + return object; + var message = new $root.google.protobuf.SourceCodeInfo(); + if (object.location) { + if (!Array.isArray(object.location)) + throw TypeError(".google.protobuf.SourceCodeInfo.location: array expected"); + message.location = []; + for (var i = 0; i < object.location.length; ++i) { + if (typeof object.location[i] !== "object") + throw TypeError(".google.protobuf.SourceCodeInfo.location: object expected"); + message.location[i] = $root.google.protobuf.SourceCodeInfo.Location.fromObject(object.location[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {google.protobuf.SourceCodeInfo} message SourceCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SourceCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.location = []; + if (message.location && message.location.length) { + object.location = []; + for (var j = 0; j < message.location.length; ++j) + object.location[j] = $root.google.protobuf.SourceCodeInfo.Location.toObject(message.location[j], options); + } + return object; + }; + + /** + * Converts this SourceCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo + * @instance + * @returns {Object.} JSON object + */ + SourceCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SourceCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SourceCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo"; + }; + + SourceCodeInfo.Location = (function() { + + /** + * Properties of a Location. + * @memberof google.protobuf.SourceCodeInfo + * @interface ILocation + * @property {Array.|null} [path] Location path + * @property {Array.|null} [span] Location span + * @property {string|null} [leadingComments] Location leadingComments + * @property {string|null} [trailingComments] Location trailingComments + * @property {Array.|null} [leadingDetachedComments] Location leadingDetachedComments + */ + + /** + * Constructs a new Location. + * @memberof google.protobuf.SourceCodeInfo + * @classdesc Represents a Location. + * @implements ILocation + * @constructor + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + */ + function Location(properties) { + this.path = []; + this.span = []; + this.leadingDetachedComments = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Location path. + * @member {Array.} path + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.path = $util.emptyArray; + + /** + * Location span. + * @member {Array.} span + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.span = $util.emptyArray; + + /** + * Location leadingComments. + * @member {string} leadingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingComments = ""; + + /** + * Location trailingComments. + * @member {string} trailingComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.trailingComments = ""; + + /** + * Location leadingDetachedComments. + * @member {Array.} leadingDetachedComments + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + */ + Location.prototype.leadingDetachedComments = $util.emptyArray; + + /** + * Creates a new Location instance using the specified properties. + * @function create + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation=} [properties] Properties to set + * @returns {google.protobuf.SourceCodeInfo.Location} Location instance + */ + Location.create = function create(properties) { + return new Location(properties); + }; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.span != null && message.span.length) { + writer.uint32(/* id 2, wireType 2 =*/18).fork(); + for (var i = 0; i < message.span.length; ++i) + writer.int32(message.span[i]); + writer.ldelim(); + } + if (message.leadingComments != null && Object.hasOwnProperty.call(message, "leadingComments")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.leadingComments); + if (message.trailingComments != null && Object.hasOwnProperty.call(message, "trailingComments")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.trailingComments); + if (message.leadingDetachedComments != null && message.leadingDetachedComments.length) + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.leadingDetachedComments[i]); + return writer; + }; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.ILocation} message Location message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Location.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Location message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.SourceCodeInfo.Location(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + } + case 2: { + if (!(message.span && message.span.length)) + message.span = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.span.push(reader.int32()); + } else + message.span.push(reader.int32()); + break; + } + case 3: { + message.leadingComments = reader.string(); + break; + } + case 4: { + message.trailingComments = reader.string(); + break; + } + case 6: { + if (!(message.leadingDetachedComments && message.leadingDetachedComments.length)) + message.leadingDetachedComments = []; + message.leadingDetachedComments.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.SourceCodeInfo.Location} Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Location.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Location message. + * @function verify + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Location.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.span != null && message.hasOwnProperty("span")) { + if (!Array.isArray(message.span)) + return "span: array expected"; + for (var i = 0; i < message.span.length; ++i) + if (!$util.isInteger(message.span[i])) + return "span: integer[] expected"; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + if (!$util.isString(message.leadingComments)) + return "leadingComments: string expected"; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + if (!$util.isString(message.trailingComments)) + return "trailingComments: string expected"; + if (message.leadingDetachedComments != null && message.hasOwnProperty("leadingDetachedComments")) { + if (!Array.isArray(message.leadingDetachedComments)) + return "leadingDetachedComments: array expected"; + for (var i = 0; i < message.leadingDetachedComments.length; ++i) + if (!$util.isString(message.leadingDetachedComments[i])) + return "leadingDetachedComments: string[] expected"; + } + return null; + }; + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.SourceCodeInfo.Location} Location + */ + Location.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.SourceCodeInfo.Location) + return object; + var message = new $root.google.protobuf.SourceCodeInfo.Location(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.span) { + if (!Array.isArray(object.span)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.span: array expected"); + message.span = []; + for (var i = 0; i < object.span.length; ++i) + message.span[i] = object.span[i] | 0; + } + if (object.leadingComments != null) + message.leadingComments = String(object.leadingComments); + if (object.trailingComments != null) + message.trailingComments = String(object.trailingComments); + if (object.leadingDetachedComments) { + if (!Array.isArray(object.leadingDetachedComments)) + throw TypeError(".google.protobuf.SourceCodeInfo.Location.leadingDetachedComments: array expected"); + message.leadingDetachedComments = []; + for (var i = 0; i < object.leadingDetachedComments.length; ++i) + message.leadingDetachedComments[i] = String(object.leadingDetachedComments[i]); + } + return message; + }; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {google.protobuf.SourceCodeInfo.Location} message Location + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Location.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.path = []; + object.span = []; + object.leadingDetachedComments = []; + } + if (options.defaults) { + object.leadingComments = ""; + object.trailingComments = ""; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.span && message.span.length) { + object.span = []; + for (var j = 0; j < message.span.length; ++j) + object.span[j] = message.span[j]; + } + if (message.leadingComments != null && message.hasOwnProperty("leadingComments")) + object.leadingComments = message.leadingComments; + if (message.trailingComments != null && message.hasOwnProperty("trailingComments")) + object.trailingComments = message.trailingComments; + if (message.leadingDetachedComments && message.leadingDetachedComments.length) { + object.leadingDetachedComments = []; + for (var j = 0; j < message.leadingDetachedComments.length; ++j) + object.leadingDetachedComments[j] = message.leadingDetachedComments[j]; + } + return object; + }; + + /** + * Converts this Location to JSON. + * @function toJSON + * @memberof google.protobuf.SourceCodeInfo.Location + * @instance + * @returns {Object.} JSON object + */ + Location.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Location + * @function getTypeUrl + * @memberof google.protobuf.SourceCodeInfo.Location + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Location.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.SourceCodeInfo.Location"; + }; + + return Location; + })(); + + return SourceCodeInfo; + })(); + + protobuf.GeneratedCodeInfo = (function() { + + /** + * Properties of a GeneratedCodeInfo. + * @memberof google.protobuf + * @interface IGeneratedCodeInfo + * @property {Array.|null} [annotation] GeneratedCodeInfo annotation + */ + + /** + * Constructs a new GeneratedCodeInfo. + * @memberof google.protobuf + * @classdesc Represents a GeneratedCodeInfo. + * @implements IGeneratedCodeInfo + * @constructor + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + */ + function GeneratedCodeInfo(properties) { + this.annotation = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GeneratedCodeInfo annotation. + * @member {Array.} annotation + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + */ + GeneratedCodeInfo.prototype.annotation = $util.emptyArray; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo instance + */ + GeneratedCodeInfo.create = function create(properties) { + return new GeneratedCodeInfo(properties); + }; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.annotation != null && message.annotation.length) + for (var i = 0; i < message.annotation.length; ++i) + $root.google.protobuf.GeneratedCodeInfo.Annotation.encode(message.annotation[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.IGeneratedCodeInfo} message GeneratedCodeInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GeneratedCodeInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.annotation && message.annotation.length)) + message.annotation = []; + message.annotation.push($root.google.protobuf.GeneratedCodeInfo.Annotation.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GeneratedCodeInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GeneratedCodeInfo message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GeneratedCodeInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.annotation != null && message.hasOwnProperty("annotation")) { + if (!Array.isArray(message.annotation)) + return "annotation: array expected"; + for (var i = 0; i < message.annotation.length; ++i) { + var error = $root.google.protobuf.GeneratedCodeInfo.Annotation.verify(message.annotation[i]); + if (error) + return "annotation." + error; + } + } + return null; + }; + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo} GeneratedCodeInfo + */ + GeneratedCodeInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo(); + if (object.annotation) { + if (!Array.isArray(object.annotation)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: array expected"); + message.annotation = []; + for (var i = 0; i < object.annotation.length; ++i) { + if (typeof object.annotation[i] !== "object") + throw TypeError(".google.protobuf.GeneratedCodeInfo.annotation: object expected"); + message.annotation[i] = $root.google.protobuf.GeneratedCodeInfo.Annotation.fromObject(object.annotation[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {google.protobuf.GeneratedCodeInfo} message GeneratedCodeInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GeneratedCodeInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.annotation = []; + if (message.annotation && message.annotation.length) { + object.annotation = []; + for (var j = 0; j < message.annotation.length; ++j) + object.annotation[j] = $root.google.protobuf.GeneratedCodeInfo.Annotation.toObject(message.annotation[j], options); + } + return object; + }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo + * @instance + * @returns {Object.} JSON object + */ + GeneratedCodeInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GeneratedCodeInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo"; + }; + + GeneratedCodeInfo.Annotation = (function() { + + /** + * Properties of an Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @interface IAnnotation + * @property {Array.|null} [path] Annotation path + * @property {string|null} [sourceFile] Annotation sourceFile + * @property {number|null} [begin] Annotation begin + * @property {number|null} [end] Annotation end + * @property {google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null} [semantic] Annotation semantic + */ + + /** + * Constructs a new Annotation. + * @memberof google.protobuf.GeneratedCodeInfo + * @classdesc Represents an Annotation. + * @implements IAnnotation + * @constructor + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + */ + function Annotation(properties) { + this.path = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Annotation path. + * @member {Array.} path + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.path = $util.emptyArray; + + /** + * Annotation sourceFile. + * @member {string} sourceFile + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.sourceFile = ""; + + /** + * Annotation begin. + * @member {number} begin + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.begin = 0; + + /** + * Annotation end. + * @member {number} end + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.end = 0; + + /** + * Annotation semantic. + * @member {google.protobuf.GeneratedCodeInfo.Annotation.Semantic} semantic + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + */ + Annotation.prototype.semantic = 0; + + /** + * Creates a new Annotation instance using the specified properties. + * @function create + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation=} [properties] Properties to set + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation instance + */ + Annotation.create = function create(properties) { + return new Annotation(properties); + }; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.path != null && message.path.length) { + writer.uint32(/* id 1, wireType 2 =*/10).fork(); + for (var i = 0; i < message.path.length; ++i) + writer.int32(message.path[i]); + writer.ldelim(); + } + if (message.sourceFile != null && Object.hasOwnProperty.call(message, "sourceFile")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.sourceFile); + if (message.begin != null && Object.hasOwnProperty.call(message, "begin")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.begin); + if (message.end != null && Object.hasOwnProperty.call(message, "end")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.end); + if (message.semantic != null && Object.hasOwnProperty.call(message, "semantic")) + writer.uint32(/* id 5, wireType 0 =*/40).int32(message.semantic); + return writer; + }; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.IAnnotation} message Annotation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Annotation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.path && message.path.length)) + message.path = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.path.push(reader.int32()); + } else + message.path.push(reader.int32()); + break; + } + case 2: { + message.sourceFile = reader.string(); + break; + } + case 3: { + message.begin = reader.int32(); + break; + } + case 4: { + message.end = reader.int32(); + break; + } + case 5: { + message.semantic = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Annotation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Annotation message. + * @function verify + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Annotation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.path != null && message.hasOwnProperty("path")) { + if (!Array.isArray(message.path)) + return "path: array expected"; + for (var i = 0; i < message.path.length; ++i) + if (!$util.isInteger(message.path[i])) + return "path: integer[] expected"; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + if (!$util.isString(message.sourceFile)) + return "sourceFile: string expected"; + if (message.begin != null && message.hasOwnProperty("begin")) + if (!$util.isInteger(message.begin)) + return "begin: integer expected"; + if (message.end != null && message.hasOwnProperty("end")) + if (!$util.isInteger(message.end)) + return "end: integer expected"; + if (message.semantic != null && message.hasOwnProperty("semantic")) + switch (message.semantic) { + default: + return "semantic: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.GeneratedCodeInfo.Annotation} Annotation + */ + Annotation.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.GeneratedCodeInfo.Annotation) + return object; + var message = new $root.google.protobuf.GeneratedCodeInfo.Annotation(); + if (object.path) { + if (!Array.isArray(object.path)) + throw TypeError(".google.protobuf.GeneratedCodeInfo.Annotation.path: array expected"); + message.path = []; + for (var i = 0; i < object.path.length; ++i) + message.path[i] = object.path[i] | 0; + } + if (object.sourceFile != null) + message.sourceFile = String(object.sourceFile); + if (object.begin != null) + message.begin = object.begin | 0; + if (object.end != null) + message.end = object.end | 0; + switch (object.semantic) { + default: + if (typeof object.semantic === "number") { + message.semantic = object.semantic; + break; + } + break; + case "NONE": + case 0: + message.semantic = 0; + break; + case "SET": + case 1: + message.semantic = 1; + break; + case "ALIAS": + case 2: + message.semantic = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {google.protobuf.GeneratedCodeInfo.Annotation} message Annotation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Annotation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.path = []; + if (options.defaults) { + object.sourceFile = ""; + object.begin = 0; + object.end = 0; + object.semantic = options.enums === String ? "NONE" : 0; + } + if (message.path && message.path.length) { + object.path = []; + for (var j = 0; j < message.path.length; ++j) + object.path[j] = message.path[j]; + } + if (message.sourceFile != null && message.hasOwnProperty("sourceFile")) + object.sourceFile = message.sourceFile; + if (message.begin != null && message.hasOwnProperty("begin")) + object.begin = message.begin; + if (message.end != null && message.hasOwnProperty("end")) + object.end = message.end; + if (message.semantic != null && message.hasOwnProperty("semantic")) + object.semantic = options.enums === String ? $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] === undefined ? message.semantic : $root.google.protobuf.GeneratedCodeInfo.Annotation.Semantic[message.semantic] : message.semantic; + return object; + }; + + /** + * Converts this Annotation to JSON. + * @function toJSON + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @instance + * @returns {Object.} JSON object + */ + Annotation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Annotation + * @function getTypeUrl + * @memberof google.protobuf.GeneratedCodeInfo.Annotation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Annotation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.GeneratedCodeInfo.Annotation"; + }; + + /** + * Semantic enum. + * @name google.protobuf.GeneratedCodeInfo.Annotation.Semantic + * @enum {number} + * @property {number} NONE=0 NONE value + * @property {number} SET=1 SET value + * @property {number} ALIAS=2 ALIAS value + */ + Annotation.Semantic = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "NONE"] = 0; + values[valuesById[1] = "SET"] = 1; + values[valuesById[2] = "ALIAS"] = 2; + return values; + })(); + + return Annotation; + })(); + + return GeneratedCodeInfo; + })(); + + protobuf.Duration = (function() { + + /** + * Properties of a Duration. + * @memberof google.protobuf + * @interface IDuration + * @property {number|Long|null} [seconds] Duration seconds + * @property {number|null} [nanos] Duration nanos + */ + + /** + * Constructs a new Duration. + * @memberof google.protobuf + * @classdesc Represents a Duration. + * @implements IDuration + * @constructor + * @param {google.protobuf.IDuration=} [properties] Properties to set + */ + function Duration(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Duration seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Duration nanos. + * @member {number} nanos + * @memberof google.protobuf.Duration + * @instance + */ + Duration.prototype.nanos = 0; + + /** + * Creates a new Duration instance using the specified properties. + * @function create + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration=} [properties] Properties to set + * @returns {google.protobuf.Duration} Duration instance + */ + Duration.create = function create(properties) { + return new Duration(properties); + }; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.IDuration} message Duration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Duration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Duration(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Duration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Duration} Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Duration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Duration message. + * @function verify + * @memberof google.protobuf.Duration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Duration.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Duration + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Duration} Duration + */ + Duration.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Duration) + return object; + var message = new $root.google.protobuf.Duration(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Duration + * @static + * @param {google.protobuf.Duration} message Duration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Duration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Duration to JSON. + * @function toJSON + * @memberof google.protobuf.Duration + * @instance + * @returns {Object.} JSON object + */ + Duration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Duration + * @function getTypeUrl + * @memberof google.protobuf.Duration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Duration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Duration"; + }; + + return Duration; + })(); + + protobuf.Empty = (function() { + + /** + * Properties of an Empty. + * @memberof google.protobuf + * @interface IEmpty + */ + + /** + * Constructs a new Empty. + * @memberof google.protobuf + * @classdesc Represents an Empty. + * @implements IEmpty + * @constructor + * @param {google.protobuf.IEmpty=} [properties] Properties to set + */ + function Empty(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new Empty instance using the specified properties. + * @function create + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty=} [properties] Properties to set + * @returns {google.protobuf.Empty} Empty instance + */ + Empty.create = function create(properties) { + return new Empty(properties); + }; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.IEmpty} message Empty message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Empty.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Empty(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Empty + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Empty} Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Empty.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Empty message. + * @function verify + * @memberof google.protobuf.Empty + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Empty.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Empty + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Empty} Empty + */ + Empty.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Empty) + return object; + return new $root.google.protobuf.Empty(); + }; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Empty + * @static + * @param {google.protobuf.Empty} message Empty + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Empty.toObject = function toObject() { + return {}; + }; + + /** + * Converts this Empty to JSON. + * @function toJSON + * @memberof google.protobuf.Empty + * @instance + * @returns {Object.} JSON object + */ + Empty.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Empty + * @function getTypeUrl + * @memberof google.protobuf.Empty + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Empty.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Empty"; + }; + + return Empty; + })(); + + protobuf.FieldMask = (function() { + + /** + * Properties of a FieldMask. + * @memberof google.protobuf + * @interface IFieldMask + * @property {Array.|null} [paths] FieldMask paths + */ + + /** + * Constructs a new FieldMask. + * @memberof google.protobuf + * @classdesc Represents a FieldMask. + * @implements IFieldMask + * @constructor + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + */ + function FieldMask(properties) { + this.paths = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldMask paths. + * @member {Array.} paths + * @memberof google.protobuf.FieldMask + * @instance + */ + FieldMask.prototype.paths = $util.emptyArray; + + /** + * Creates a new FieldMask instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask=} [properties] Properties to set + * @returns {google.protobuf.FieldMask} FieldMask instance + */ + FieldMask.create = function create(properties) { + return new FieldMask(properties); + }; + + /** + * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.paths != null && message.paths.length) + for (var i = 0; i < message.paths.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.paths[i]); + return writer; + }; + + /** + * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.IFieldMask} message FieldMask message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldMask.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldMask(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.paths && message.paths.length)) + message.paths = []; + message.paths.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldMask message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldMask + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldMask} FieldMask + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldMask.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldMask message. + * @function verify + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldMask.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.paths != null && message.hasOwnProperty("paths")) { + if (!Array.isArray(message.paths)) + return "paths: array expected"; + for (var i = 0; i < message.paths.length; ++i) + if (!$util.isString(message.paths[i])) + return "paths: string[] expected"; + } + return null; + }; + + /** + * Creates a FieldMask message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldMask + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldMask} FieldMask + */ + FieldMask.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldMask) + return object; + var message = new $root.google.protobuf.FieldMask(); + if (object.paths) { + if (!Array.isArray(object.paths)) + throw TypeError(".google.protobuf.FieldMask.paths: array expected"); + message.paths = []; + for (var i = 0; i < object.paths.length; ++i) + message.paths[i] = String(object.paths[i]); + } + return message; + }; + + /** + * Creates a plain object from a FieldMask message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldMask + * @static + * @param {google.protobuf.FieldMask} message FieldMask + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldMask.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.paths = []; + if (message.paths && message.paths.length) { + object.paths = []; + for (var j = 0; j < message.paths.length; ++j) + object.paths[j] = message.paths[j]; + } + return object; + }; + + /** + * Converts this FieldMask to JSON. + * @function toJSON + * @memberof google.protobuf.FieldMask + * @instance + * @returns {Object.} JSON object + */ + FieldMask.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for FieldMask + * @function getTypeUrl + * @memberof google.protobuf.FieldMask + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + FieldMask.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.FieldMask"; + }; + + return FieldMask; + })(); + + return protobuf; + })(); + + google.api = (function() { + + /** + * Namespace api. + * @memberof google + * @namespace + */ + var api = {}; + + api.serviceusage = (function() { + + /** + * Namespace serviceusage. + * @memberof google.api + * @namespace + */ + var serviceusage = {}; + + serviceusage.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.api.serviceusage + * @namespace + */ + var v1 = {}; + + v1.Service = (function() { + + /** + * Properties of a Service. + * @memberof google.api.serviceusage.v1 + * @interface IService + * @property {string|null} [name] Service name + * @property {string|null} [parent] Service parent + * @property {google.api.serviceusage.v1.IServiceConfig|null} [config] Service config + * @property {google.api.serviceusage.v1.State|null} [state] Service state + */ + + /** + * Constructs a new Service. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a Service. + * @implements IService + * @constructor + * @param {google.api.serviceusage.v1.IService=} [properties] Properties to set + */ + function Service(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Service name. + * @member {string} name + * @memberof google.api.serviceusage.v1.Service + * @instance + */ + Service.prototype.name = ""; + + /** + * Service parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1.Service + * @instance + */ + Service.prototype.parent = ""; + + /** + * Service config. + * @member {google.api.serviceusage.v1.IServiceConfig|null|undefined} config + * @memberof google.api.serviceusage.v1.Service + * @instance + */ + Service.prototype.config = null; + + /** + * Service state. + * @member {google.api.serviceusage.v1.State} state + * @memberof google.api.serviceusage.v1.Service + * @instance + */ + Service.prototype.state = 0; + + /** + * Creates a new Service instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {google.api.serviceusage.v1.IService=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.Service} Service instance + */ + Service.create = function create(properties) { + return new Service(properties); + }; + + /** + * Encodes the specified Service message. Does not implicitly {@link google.api.serviceusage.v1.Service.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {google.api.serviceusage.v1.IService} message Service message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Service.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.config != null && Object.hasOwnProperty.call(message, "config")) + $root.google.api.serviceusage.v1.ServiceConfig.encode(message.config, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.state); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.parent); + return writer; + }; + + /** + * Encodes the specified Service message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.Service.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {google.api.serviceusage.v1.IService} message Service message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Service.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Service message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.Service} Service + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Service.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.Service(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 5: { + message.parent = reader.string(); + break; + } + case 2: { + message.config = $root.google.api.serviceusage.v1.ServiceConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.state = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Service message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.Service} Service + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Service.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Service message. + * @function verify + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Service.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.config != null && message.hasOwnProperty("config")) { + var error = $root.google.api.serviceusage.v1.ServiceConfig.verify(message.config); + if (error) + return "config." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a Service message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.Service} Service + */ + Service.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.Service) + return object; + var message = new $root.google.api.serviceusage.v1.Service(); + if (object.name != null) + message.name = String(object.name); + if (object.parent != null) + message.parent = String(object.parent); + if (object.config != null) { + if (typeof object.config !== "object") + throw TypeError(".google.api.serviceusage.v1.Service.config: object expected"); + message.config = $root.google.api.serviceusage.v1.ServiceConfig.fromObject(object.config); + } + switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "DISABLED": + case 1: + message.state = 1; + break; + case "ENABLED": + case 2: + message.state = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a Service message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {google.api.serviceusage.v1.Service} message Service + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Service.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.config = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.parent = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.config != null && message.hasOwnProperty("config")) + object.config = $root.google.api.serviceusage.v1.ServiceConfig.toObject(message.config, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.api.serviceusage.v1.State[message.state] === undefined ? message.state : $root.google.api.serviceusage.v1.State[message.state] : message.state; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this Service to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.Service + * @instance + * @returns {Object.} JSON object + */ + Service.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Service + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.Service + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Service.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.Service"; + }; + + return Service; + })(); + + /** + * State enum. + * @name google.api.serviceusage.v1.State + * @enum {number} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} DISABLED=1 DISABLED value + * @property {number} ENABLED=2 ENABLED value + */ + v1.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DISABLED"] = 1; + values[valuesById[2] = "ENABLED"] = 2; + return values; + })(); + + v1.ServiceConfig = (function() { + + /** + * Properties of a ServiceConfig. + * @memberof google.api.serviceusage.v1 + * @interface IServiceConfig + * @property {string|null} [name] ServiceConfig name + * @property {string|null} [title] ServiceConfig title + * @property {Array.|null} [apis] ServiceConfig apis + * @property {google.api.IDocumentation|null} [documentation] ServiceConfig documentation + * @property {google.api.IQuota|null} [quota] ServiceConfig quota + * @property {google.api.IAuthentication|null} [authentication] ServiceConfig authentication + * @property {google.api.IUsage|null} [usage] ServiceConfig usage + * @property {Array.|null} [endpoints] ServiceConfig endpoints + * @property {Array.|null} [monitoredResources] ServiceConfig monitoredResources + * @property {google.api.IMonitoring|null} [monitoring] ServiceConfig monitoring + */ + + /** + * Constructs a new ServiceConfig. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a ServiceConfig. + * @implements IServiceConfig + * @constructor + * @param {google.api.serviceusage.v1.IServiceConfig=} [properties] Properties to set + */ + function ServiceConfig(properties) { + this.apis = []; + this.endpoints = []; + this.monitoredResources = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceConfig name. + * @member {string} name + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.name = ""; + + /** + * ServiceConfig title. + * @member {string} title + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.title = ""; + + /** + * ServiceConfig apis. + * @member {Array.} apis + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.apis = $util.emptyArray; + + /** + * ServiceConfig documentation. + * @member {google.api.IDocumentation|null|undefined} documentation + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.documentation = null; + + /** + * ServiceConfig quota. + * @member {google.api.IQuota|null|undefined} quota + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.quota = null; + + /** + * ServiceConfig authentication. + * @member {google.api.IAuthentication|null|undefined} authentication + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.authentication = null; + + /** + * ServiceConfig usage. + * @member {google.api.IUsage|null|undefined} usage + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.usage = null; + + /** + * ServiceConfig endpoints. + * @member {Array.} endpoints + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.endpoints = $util.emptyArray; + + /** + * ServiceConfig monitoredResources. + * @member {Array.} monitoredResources + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.monitoredResources = $util.emptyArray; + + /** + * ServiceConfig monitoring. + * @member {google.api.IMonitoring|null|undefined} monitoring + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.monitoring = null; + + /** + * Creates a new ServiceConfig instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1.IServiceConfig=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.ServiceConfig} ServiceConfig instance + */ + ServiceConfig.create = function create(properties) { + return new ServiceConfig(properties); + }; + + /** + * Encodes the specified ServiceConfig message. Does not implicitly {@link google.api.serviceusage.v1.ServiceConfig.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1.IServiceConfig} message ServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.title != null && Object.hasOwnProperty.call(message, "title")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.title); + if (message.apis != null && message.apis.length) + for (var i = 0; i < message.apis.length; ++i) + $root.google.protobuf.Api.encode(message.apis[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation")) + $root.google.api.Documentation.encode(message.documentation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.quota != null && Object.hasOwnProperty.call(message, "quota")) + $root.google.api.Quota.encode(message.quota, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.authentication != null && Object.hasOwnProperty.call(message, "authentication")) + $root.google.api.Authentication.encode(message.authentication, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.usage != null && Object.hasOwnProperty.call(message, "usage")) + $root.google.api.Usage.encode(message.usage, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + if (message.endpoints != null && message.endpoints.length) + for (var i = 0; i < message.endpoints.length; ++i) + $root.google.api.Endpoint.encode(message.endpoints[i], writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); + if (message.monitoredResources != null && message.monitoredResources.length) + for (var i = 0; i < message.monitoredResources.length; ++i) + $root.google.api.MonitoredResourceDescriptor.encode(message.monitoredResources[i], writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); + if (message.monitoring != null && Object.hasOwnProperty.call(message, "monitoring")) + $root.google.api.Monitoring.encode(message.monitoring, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceConfig message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ServiceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1.IServiceConfig} message ServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.ServiceConfig} ServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.ServiceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.title = reader.string(); + break; + } + case 3: { + if (!(message.apis && message.apis.length)) + message.apis = []; + message.apis.push($root.google.protobuf.Api.decode(reader, reader.uint32())); + break; + } + case 6: { + message.documentation = $root.google.api.Documentation.decode(reader, reader.uint32()); + break; + } + case 10: { + message.quota = $root.google.api.Quota.decode(reader, reader.uint32()); + break; + } + case 11: { + message.authentication = $root.google.api.Authentication.decode(reader, reader.uint32()); + break; + } + case 15: { + message.usage = $root.google.api.Usage.decode(reader, reader.uint32()); + break; + } + case 18: { + if (!(message.endpoints && message.endpoints.length)) + message.endpoints = []; + message.endpoints.push($root.google.api.Endpoint.decode(reader, reader.uint32())); + break; + } + case 25: { + if (!(message.monitoredResources && message.monitoredResources.length)) + message.monitoredResources = []; + message.monitoredResources.push($root.google.api.MonitoredResourceDescriptor.decode(reader, reader.uint32())); + break; + } + case 28: { + message.monitoring = $root.google.api.Monitoring.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.ServiceConfig} ServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceConfig message. + * @function verify + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.title != null && message.hasOwnProperty("title")) + if (!$util.isString(message.title)) + return "title: string expected"; + if (message.apis != null && message.hasOwnProperty("apis")) { + if (!Array.isArray(message.apis)) + return "apis: array expected"; + for (var i = 0; i < message.apis.length; ++i) { + var error = $root.google.protobuf.Api.verify(message.apis[i]); + if (error) + return "apis." + error; + } + } + if (message.documentation != null && message.hasOwnProperty("documentation")) { + var error = $root.google.api.Documentation.verify(message.documentation); + if (error) + return "documentation." + error; + } + if (message.quota != null && message.hasOwnProperty("quota")) { + var error = $root.google.api.Quota.verify(message.quota); + if (error) + return "quota." + error; + } + if (message.authentication != null && message.hasOwnProperty("authentication")) { + var error = $root.google.api.Authentication.verify(message.authentication); + if (error) + return "authentication." + error; + } + if (message.usage != null && message.hasOwnProperty("usage")) { + var error = $root.google.api.Usage.verify(message.usage); + if (error) + return "usage." + error; + } + if (message.endpoints != null && message.hasOwnProperty("endpoints")) { + if (!Array.isArray(message.endpoints)) + return "endpoints: array expected"; + for (var i = 0; i < message.endpoints.length; ++i) { + var error = $root.google.api.Endpoint.verify(message.endpoints[i]); + if (error) + return "endpoints." + error; + } + } + if (message.monitoredResources != null && message.hasOwnProperty("monitoredResources")) { + if (!Array.isArray(message.monitoredResources)) + return "monitoredResources: array expected"; + for (var i = 0; i < message.monitoredResources.length; ++i) { + var error = $root.google.api.MonitoredResourceDescriptor.verify(message.monitoredResources[i]); + if (error) + return "monitoredResources." + error; + } + } + if (message.monitoring != null && message.hasOwnProperty("monitoring")) { + var error = $root.google.api.Monitoring.verify(message.monitoring); + if (error) + return "monitoring." + error; + } + return null; + }; + + /** + * Creates a ServiceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.ServiceConfig} ServiceConfig + */ + ServiceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.ServiceConfig) + return object; + var message = new $root.google.api.serviceusage.v1.ServiceConfig(); + if (object.name != null) + message.name = String(object.name); + if (object.title != null) + message.title = String(object.title); + if (object.apis) { + if (!Array.isArray(object.apis)) + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.apis: array expected"); + message.apis = []; + for (var i = 0; i < object.apis.length; ++i) { + if (typeof object.apis[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.apis: object expected"); + message.apis[i] = $root.google.protobuf.Api.fromObject(object.apis[i]); + } + } + if (object.documentation != null) { + if (typeof object.documentation !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.documentation: object expected"); + message.documentation = $root.google.api.Documentation.fromObject(object.documentation); + } + if (object.quota != null) { + if (typeof object.quota !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.quota: object expected"); + message.quota = $root.google.api.Quota.fromObject(object.quota); + } + if (object.authentication != null) { + if (typeof object.authentication !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.authentication: object expected"); + message.authentication = $root.google.api.Authentication.fromObject(object.authentication); + } + if (object.usage != null) { + if (typeof object.usage !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.usage: object expected"); + message.usage = $root.google.api.Usage.fromObject(object.usage); + } + if (object.endpoints) { + if (!Array.isArray(object.endpoints)) + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.endpoints: array expected"); + message.endpoints = []; + for (var i = 0; i < object.endpoints.length; ++i) { + if (typeof object.endpoints[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.endpoints: object expected"); + message.endpoints[i] = $root.google.api.Endpoint.fromObject(object.endpoints[i]); + } + } + if (object.monitoredResources) { + if (!Array.isArray(object.monitoredResources)) + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.monitoredResources: array expected"); + message.monitoredResources = []; + for (var i = 0; i < object.monitoredResources.length; ++i) { + if (typeof object.monitoredResources[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.monitoredResources: object expected"); + message.monitoredResources[i] = $root.google.api.MonitoredResourceDescriptor.fromObject(object.monitoredResources[i]); + } + } + if (object.monitoring != null) { + if (typeof object.monitoring !== "object") + throw TypeError(".google.api.serviceusage.v1.ServiceConfig.monitoring: object expected"); + message.monitoring = $root.google.api.Monitoring.fromObject(object.monitoring); + } + return message; + }; + + /** + * Creates a plain object from a ServiceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1.ServiceConfig} message ServiceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.apis = []; + object.endpoints = []; + object.monitoredResources = []; + } + if (options.defaults) { + object.name = ""; + object.title = ""; + object.documentation = null; + object.quota = null; + object.authentication = null; + object.usage = null; + object.monitoring = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.title != null && message.hasOwnProperty("title")) + object.title = message.title; + if (message.apis && message.apis.length) { + object.apis = []; + for (var j = 0; j < message.apis.length; ++j) + object.apis[j] = $root.google.protobuf.Api.toObject(message.apis[j], options); + } + if (message.documentation != null && message.hasOwnProperty("documentation")) + object.documentation = $root.google.api.Documentation.toObject(message.documentation, options); + if (message.quota != null && message.hasOwnProperty("quota")) + object.quota = $root.google.api.Quota.toObject(message.quota, options); + if (message.authentication != null && message.hasOwnProperty("authentication")) + object.authentication = $root.google.api.Authentication.toObject(message.authentication, options); + if (message.usage != null && message.hasOwnProperty("usage")) + object.usage = $root.google.api.Usage.toObject(message.usage, options); + if (message.endpoints && message.endpoints.length) { + object.endpoints = []; + for (var j = 0; j < message.endpoints.length; ++j) + object.endpoints[j] = $root.google.api.Endpoint.toObject(message.endpoints[j], options); + } + if (message.monitoredResources && message.monitoredResources.length) { + object.monitoredResources = []; + for (var j = 0; j < message.monitoredResources.length; ++j) + object.monitoredResources[j] = $root.google.api.MonitoredResourceDescriptor.toObject(message.monitoredResources[j], options); + } + if (message.monitoring != null && message.hasOwnProperty("monitoring")) + object.monitoring = $root.google.api.Monitoring.toObject(message.monitoring, options); + return object; + }; + + /** + * Converts this ServiceConfig to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.ServiceConfig + * @instance + * @returns {Object.} JSON object + */ + ServiceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceConfig + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.ServiceConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.ServiceConfig"; + }; + + return ServiceConfig; + })(); + + v1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.api.serviceusage.v1 + * @interface IOperationMetadata + * @property {Array.|null} [resourceNames] OperationMetadata resourceNames + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.api.serviceusage.v1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(properties) { + this.resourceNames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationMetadata resourceNames. + * @member {Array.} resourceNames + * @memberof google.api.serviceusage.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.resourceNames = $util.emptyArray; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1.IOperationMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.api.serviceusage.v1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.resourceNames != null && message.resourceNames.length) + for (var i = 0; i < message.resourceNames.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.resourceNames[i]); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (!(message.resourceNames && message.resourceNames.length)) + message.resourceNames = []; + message.resourceNames.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) { + if (!Array.isArray(message.resourceNames)) + return "resourceNames: array expected"; + for (var i = 0; i < message.resourceNames.length; ++i) + if (!$util.isString(message.resourceNames[i])) + return "resourceNames: string[] expected"; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.OperationMetadata) + return object; + var message = new $root.google.api.serviceusage.v1.OperationMetadata(); + if (object.resourceNames) { + if (!Array.isArray(object.resourceNames)) + throw TypeError(".google.api.serviceusage.v1.OperationMetadata.resourceNames: array expected"); + message.resourceNames = []; + for (var i = 0; i < object.resourceNames.length; ++i) + message.resourceNames[i] = String(object.resourceNames[i]); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.resourceNames = []; + if (message.resourceNames && message.resourceNames.length) { + object.resourceNames = []; + for (var j = 0; j < message.resourceNames.length; ++j) + object.resourceNames[j] = message.resourceNames[j]; + } + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.OperationMetadata"; + }; + + return OperationMetadata; + })(); + + v1.ServiceUsage = (function() { + + /** + * Constructs a new ServiceUsage service. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a ServiceUsage + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function ServiceUsage(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ServiceUsage.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ServiceUsage; + + /** + * Creates new ServiceUsage service using the specified rpc implementation. + * @function create + * @memberof google.api.serviceusage.v1.ServiceUsage + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {ServiceUsage} RPC service. Useful where requests and/or responses are streamed. + */ + ServiceUsage.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|enableService}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef EnableServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls EnableService. + * @function enableService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IEnableServiceRequest} request EnableServiceRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.EnableServiceCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.enableService = function enableService(request, callback) { + return this.rpcCall(enableService, $root.google.api.serviceusage.v1.EnableServiceRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "EnableService" }); + + /** + * Calls EnableService. + * @function enableService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IEnableServiceRequest} request EnableServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|disableService}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef DisableServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DisableService. + * @function disableService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IDisableServiceRequest} request DisableServiceRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.DisableServiceCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.disableService = function disableService(request, callback) { + return this.rpcCall(disableService, $root.google.api.serviceusage.v1.DisableServiceRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DisableService" }); + + /** + * Calls DisableService. + * @function disableService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IDisableServiceRequest} request DisableServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|getService}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef GetServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1.Service} [response] Service + */ + + /** + * Calls GetService. + * @function getService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IGetServiceRequest} request GetServiceRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.GetServiceCallback} callback Node-style callback called with the error, if any, and Service + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.getService = function getService(request, callback) { + return this.rpcCall(getService, $root.google.api.serviceusage.v1.GetServiceRequest, $root.google.api.serviceusage.v1.Service, request, callback); + }, "name", { value: "GetService" }); + + /** + * Calls GetService. + * @function getService + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IGetServiceRequest} request GetServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|listServices}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef ListServicesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1.ListServicesResponse} [response] ListServicesResponse + */ + + /** + * Calls ListServices. + * @function listServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IListServicesRequest} request ListServicesRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.ListServicesCallback} callback Node-style callback called with the error, if any, and ListServicesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.listServices = function listServices(request, callback) { + return this.rpcCall(listServices, $root.google.api.serviceusage.v1.ListServicesRequest, $root.google.api.serviceusage.v1.ListServicesResponse, request, callback); + }, "name", { value: "ListServices" }); + + /** + * Calls ListServices. + * @function listServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IListServicesRequest} request ListServicesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|batchEnableServices}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef BatchEnableServicesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls BatchEnableServices. + * @function batchEnableServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest} request BatchEnableServicesRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.BatchEnableServicesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.batchEnableServices = function batchEnableServices(request, callback) { + return this.rpcCall(batchEnableServices, $root.google.api.serviceusage.v1.BatchEnableServicesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "BatchEnableServices" }); + + /** + * Calls BatchEnableServices. + * @function batchEnableServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest} request BatchEnableServicesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1.ServiceUsage|batchGetServices}. + * @memberof google.api.serviceusage.v1.ServiceUsage + * @typedef BatchGetServicesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1.BatchGetServicesResponse} [response] BatchGetServicesResponse + */ + + /** + * Calls BatchGetServices. + * @function batchGetServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest} request BatchGetServicesRequest message or plain object + * @param {google.api.serviceusage.v1.ServiceUsage.BatchGetServicesCallback} callback Node-style callback called with the error, if any, and BatchGetServicesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.batchGetServices = function batchGetServices(request, callback) { + return this.rpcCall(batchGetServices, $root.google.api.serviceusage.v1.BatchGetServicesRequest, $root.google.api.serviceusage.v1.BatchGetServicesResponse, request, callback); + }, "name", { value: "BatchGetServices" }); + + /** + * Calls BatchGetServices. + * @function batchGetServices + * @memberof google.api.serviceusage.v1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest} request BatchGetServicesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ServiceUsage; + })(); + + v1.EnableServiceRequest = (function() { + + /** + * Properties of an EnableServiceRequest. + * @memberof google.api.serviceusage.v1 + * @interface IEnableServiceRequest + * @property {string|null} [name] EnableServiceRequest name + */ + + /** + * Constructs a new EnableServiceRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents an EnableServiceRequest. + * @implements IEnableServiceRequest + * @constructor + * @param {google.api.serviceusage.v1.IEnableServiceRequest=} [properties] Properties to set + */ + function EnableServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnableServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @instance + */ + EnableServiceRequest.prototype.name = ""; + + /** + * Creates a new EnableServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IEnableServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.EnableServiceRequest} EnableServiceRequest instance + */ + EnableServiceRequest.create = function create(properties) { + return new EnableServiceRequest(properties); + }; + + /** + * Encodes the specified EnableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IEnableServiceRequest} message EnableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified EnableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IEnableServiceRequest} message EnableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.EnableServiceRequest} EnableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.EnableServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.EnableServiceRequest} EnableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnableServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnableServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates an EnableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.EnableServiceRequest} EnableServiceRequest + */ + EnableServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.EnableServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1.EnableServiceRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from an EnableServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1.EnableServiceRequest} message EnableServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnableServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this EnableServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @instance + * @returns {Object.} JSON object + */ + EnableServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnableServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.EnableServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnableServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.EnableServiceRequest"; + }; + + return EnableServiceRequest; + })(); + + v1.EnableServiceResponse = (function() { + + /** + * Properties of an EnableServiceResponse. + * @memberof google.api.serviceusage.v1 + * @interface IEnableServiceResponse + * @property {google.api.serviceusage.v1.IService|null} [service] EnableServiceResponse service + */ + + /** + * Constructs a new EnableServiceResponse. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents an EnableServiceResponse. + * @implements IEnableServiceResponse + * @constructor + * @param {google.api.serviceusage.v1.IEnableServiceResponse=} [properties] Properties to set + */ + function EnableServiceResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnableServiceResponse service. + * @member {google.api.serviceusage.v1.IService|null|undefined} service + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @instance + */ + EnableServiceResponse.prototype.service = null; + + /** + * Creates a new EnableServiceResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IEnableServiceResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.EnableServiceResponse} EnableServiceResponse instance + */ + EnableServiceResponse.create = function create(properties) { + return new EnableServiceResponse(properties); + }; + + /** + * Encodes the specified EnableServiceResponse message. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IEnableServiceResponse} message EnableServiceResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.service != null && Object.hasOwnProperty.call(message, "service")) + $root.google.api.serviceusage.v1.Service.encode(message.service, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified EnableServiceResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.EnableServiceResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IEnableServiceResponse} message EnableServiceResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnableServiceResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.EnableServiceResponse} EnableServiceResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.EnableServiceResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.service = $root.google.api.serviceusage.v1.Service.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnableServiceResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.EnableServiceResponse} EnableServiceResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnableServiceResponse message. + * @function verify + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnableServiceResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.service != null && message.hasOwnProperty("service")) { + var error = $root.google.api.serviceusage.v1.Service.verify(message.service); + if (error) + return "service." + error; + } + return null; + }; + + /** + * Creates an EnableServiceResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.EnableServiceResponse} EnableServiceResponse + */ + EnableServiceResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.EnableServiceResponse) + return object; + var message = new $root.google.api.serviceusage.v1.EnableServiceResponse(); + if (object.service != null) { + if (typeof object.service !== "object") + throw TypeError(".google.api.serviceusage.v1.EnableServiceResponse.service: object expected"); + message.service = $root.google.api.serviceusage.v1.Service.fromObject(object.service); + } + return message; + }; + + /** + * Creates a plain object from an EnableServiceResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {google.api.serviceusage.v1.EnableServiceResponse} message EnableServiceResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnableServiceResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.service = null; + if (message.service != null && message.hasOwnProperty("service")) + object.service = $root.google.api.serviceusage.v1.Service.toObject(message.service, options); + return object; + }; + + /** + * Converts this EnableServiceResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @instance + * @returns {Object.} JSON object + */ + EnableServiceResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnableServiceResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.EnableServiceResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnableServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.EnableServiceResponse"; + }; + + return EnableServiceResponse; + })(); + + v1.DisableServiceRequest = (function() { + + /** + * Properties of a DisableServiceRequest. + * @memberof google.api.serviceusage.v1 + * @interface IDisableServiceRequest + * @property {string|null} [name] DisableServiceRequest name + * @property {boolean|null} [disableDependentServices] DisableServiceRequest disableDependentServices + * @property {google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage|null} [checkIfServiceHasUsage] DisableServiceRequest checkIfServiceHasUsage + */ + + /** + * Constructs a new DisableServiceRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a DisableServiceRequest. + * @implements IDisableServiceRequest + * @constructor + * @param {google.api.serviceusage.v1.IDisableServiceRequest=} [properties] Properties to set + */ + function DisableServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DisableServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @instance + */ + DisableServiceRequest.prototype.name = ""; + + /** + * DisableServiceRequest disableDependentServices. + * @member {boolean} disableDependentServices + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @instance + */ + DisableServiceRequest.prototype.disableDependentServices = false; + + /** + * DisableServiceRequest checkIfServiceHasUsage. + * @member {google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage} checkIfServiceHasUsage + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @instance + */ + DisableServiceRequest.prototype.checkIfServiceHasUsage = 0; + + /** + * Creates a new DisableServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IDisableServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.DisableServiceRequest} DisableServiceRequest instance + */ + DisableServiceRequest.create = function create(properties) { + return new DisableServiceRequest(properties); + }; + + /** + * Encodes the specified DisableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IDisableServiceRequest} message DisableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.disableDependentServices != null && Object.hasOwnProperty.call(message, "disableDependentServices")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.disableDependentServices); + if (message.checkIfServiceHasUsage != null && Object.hasOwnProperty.call(message, "checkIfServiceHasUsage")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.checkIfServiceHasUsage); + return writer; + }; + + /** + * Encodes the specified DisableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1.IDisableServiceRequest} message DisableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.DisableServiceRequest} DisableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.DisableServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.disableDependentServices = reader.bool(); + break; + } + case 3: { + message.checkIfServiceHasUsage = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.DisableServiceRequest} DisableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DisableServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DisableServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.disableDependentServices != null && message.hasOwnProperty("disableDependentServices")) + if (typeof message.disableDependentServices !== "boolean") + return "disableDependentServices: boolean expected"; + if (message.checkIfServiceHasUsage != null && message.hasOwnProperty("checkIfServiceHasUsage")) + switch (message.checkIfServiceHasUsage) { + default: + return "checkIfServiceHasUsage: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a DisableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.DisableServiceRequest} DisableServiceRequest + */ + DisableServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.DisableServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1.DisableServiceRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.disableDependentServices != null) + message.disableDependentServices = Boolean(object.disableDependentServices); + switch (object.checkIfServiceHasUsage) { + default: + if (typeof object.checkIfServiceHasUsage === "number") { + message.checkIfServiceHasUsage = object.checkIfServiceHasUsage; + break; + } + break; + case "CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED": + case 0: + message.checkIfServiceHasUsage = 0; + break; + case "SKIP": + case 1: + message.checkIfServiceHasUsage = 1; + break; + case "CHECK": + case 2: + message.checkIfServiceHasUsage = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a DisableServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1.DisableServiceRequest} message DisableServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DisableServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.disableDependentServices = false; + object.checkIfServiceHasUsage = options.enums === String ? "CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.disableDependentServices != null && message.hasOwnProperty("disableDependentServices")) + object.disableDependentServices = message.disableDependentServices; + if (message.checkIfServiceHasUsage != null && message.hasOwnProperty("checkIfServiceHasUsage")) + object.checkIfServiceHasUsage = options.enums === String ? $root.google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage[message.checkIfServiceHasUsage] === undefined ? message.checkIfServiceHasUsage : $root.google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage[message.checkIfServiceHasUsage] : message.checkIfServiceHasUsage; + return object; + }; + + /** + * Converts this DisableServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @instance + * @returns {Object.} JSON object + */ + DisableServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DisableServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.DisableServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DisableServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.DisableServiceRequest"; + }; + + /** + * CheckIfServiceHasUsage enum. + * @name google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage + * @enum {number} + * @property {number} CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED=0 CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED value + * @property {number} SKIP=1 SKIP value + * @property {number} CHECK=2 CHECK value + */ + DisableServiceRequest.CheckIfServiceHasUsage = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SKIP"] = 1; + values[valuesById[2] = "CHECK"] = 2; + return values; + })(); + + return DisableServiceRequest; + })(); + + v1.DisableServiceResponse = (function() { + + /** + * Properties of a DisableServiceResponse. + * @memberof google.api.serviceusage.v1 + * @interface IDisableServiceResponse + * @property {google.api.serviceusage.v1.IService|null} [service] DisableServiceResponse service + */ + + /** + * Constructs a new DisableServiceResponse. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a DisableServiceResponse. + * @implements IDisableServiceResponse + * @constructor + * @param {google.api.serviceusage.v1.IDisableServiceResponse=} [properties] Properties to set + */ + function DisableServiceResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DisableServiceResponse service. + * @member {google.api.serviceusage.v1.IService|null|undefined} service + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @instance + */ + DisableServiceResponse.prototype.service = null; + + /** + * Creates a new DisableServiceResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IDisableServiceResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.DisableServiceResponse} DisableServiceResponse instance + */ + DisableServiceResponse.create = function create(properties) { + return new DisableServiceResponse(properties); + }; + + /** + * Encodes the specified DisableServiceResponse message. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IDisableServiceResponse} message DisableServiceResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.service != null && Object.hasOwnProperty.call(message, "service")) + $root.google.api.serviceusage.v1.Service.encode(message.service, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DisableServiceResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.DisableServiceResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {google.api.serviceusage.v1.IDisableServiceResponse} message DisableServiceResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DisableServiceResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.DisableServiceResponse} DisableServiceResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.DisableServiceResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.service = $root.google.api.serviceusage.v1.Service.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DisableServiceResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.DisableServiceResponse} DisableServiceResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DisableServiceResponse message. + * @function verify + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DisableServiceResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.service != null && message.hasOwnProperty("service")) { + var error = $root.google.api.serviceusage.v1.Service.verify(message.service); + if (error) + return "service." + error; + } + return null; + }; + + /** + * Creates a DisableServiceResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.DisableServiceResponse} DisableServiceResponse + */ + DisableServiceResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.DisableServiceResponse) + return object; + var message = new $root.google.api.serviceusage.v1.DisableServiceResponse(); + if (object.service != null) { + if (typeof object.service !== "object") + throw TypeError(".google.api.serviceusage.v1.DisableServiceResponse.service: object expected"); + message.service = $root.google.api.serviceusage.v1.Service.fromObject(object.service); + } + return message; + }; + + /** + * Creates a plain object from a DisableServiceResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {google.api.serviceusage.v1.DisableServiceResponse} message DisableServiceResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DisableServiceResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.service = null; + if (message.service != null && message.hasOwnProperty("service")) + object.service = $root.google.api.serviceusage.v1.Service.toObject(message.service, options); + return object; + }; + + /** + * Converts this DisableServiceResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @instance + * @returns {Object.} JSON object + */ + DisableServiceResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DisableServiceResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.DisableServiceResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DisableServiceResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.DisableServiceResponse"; + }; + + return DisableServiceResponse; + })(); + + v1.GetServiceRequest = (function() { + + /** + * Properties of a GetServiceRequest. + * @memberof google.api.serviceusage.v1 + * @interface IGetServiceRequest + * @property {string|null} [name] GetServiceRequest name + */ + + /** + * Constructs a new GetServiceRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a GetServiceRequest. + * @implements IGetServiceRequest + * @constructor + * @param {google.api.serviceusage.v1.IGetServiceRequest=} [properties] Properties to set + */ + function GetServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @instance + */ + GetServiceRequest.prototype.name = ""; + + /** + * Creates a new GetServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1.IGetServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.GetServiceRequest} GetServiceRequest instance + */ + GetServiceRequest.create = function create(properties) { + return new GetServiceRequest(properties); + }; + + /** + * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1.GetServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1.IGetServiceRequest} message GetServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.GetServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1.IGetServiceRequest} message GetServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.GetServiceRequest} GetServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.GetServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.GetServiceRequest} GetServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.GetServiceRequest} GetServiceRequest + */ + GetServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.GetServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1.GetServiceRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1.GetServiceRequest} message GetServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @instance + * @returns {Object.} JSON object + */ + GetServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.GetServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.GetServiceRequest"; + }; + + return GetServiceRequest; + })(); + + v1.ListServicesRequest = (function() { + + /** + * Properties of a ListServicesRequest. + * @memberof google.api.serviceusage.v1 + * @interface IListServicesRequest + * @property {string|null} [parent] ListServicesRequest parent + * @property {number|null} [pageSize] ListServicesRequest pageSize + * @property {string|null} [pageToken] ListServicesRequest pageToken + * @property {string|null} [filter] ListServicesRequest filter + */ + + /** + * Constructs a new ListServicesRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a ListServicesRequest. + * @implements IListServicesRequest + * @constructor + * @param {google.api.serviceusage.v1.IListServicesRequest=} [properties] Properties to set + */ + function ListServicesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListServicesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.parent = ""; + + /** + * ListServicesRequest pageSize. + * @member {number} pageSize + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.pageSize = 0; + + /** + * ListServicesRequest pageToken. + * @member {string} pageToken + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.pageToken = ""; + + /** + * ListServicesRequest filter. + * @member {string} filter + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.filter = ""; + + /** + * Creates a new ListServicesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1.IListServicesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.ListServicesRequest} ListServicesRequest instance + */ + ListServicesRequest.create = function create(properties) { + return new ListServicesRequest(properties); + }; + + /** + * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.ListServicesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1.IListServicesRequest} message ListServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter); + return writer; + }; + + /** + * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ListServicesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1.IListServicesRequest} message ListServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.ListServicesRequest} ListServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.ListServicesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + case 4: { + message.filter = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.ListServicesRequest} ListServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListServicesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListServicesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.ListServicesRequest} ListServicesRequest + */ + ListServicesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.ListServicesRequest) + return object; + var message = new $root.google.api.serviceusage.v1.ListServicesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1.ListServicesRequest} message ListServicesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListServicesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + object.filter = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + return object; + }; + + /** + * Converts this ListServicesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @instance + * @returns {Object.} JSON object + */ + ListServicesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListServicesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.ListServicesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.ListServicesRequest"; + }; + + return ListServicesRequest; + })(); + + v1.ListServicesResponse = (function() { + + /** + * Properties of a ListServicesResponse. + * @memberof google.api.serviceusage.v1 + * @interface IListServicesResponse + * @property {Array.|null} [services] ListServicesResponse services + * @property {string|null} [nextPageToken] ListServicesResponse nextPageToken + */ + + /** + * Constructs a new ListServicesResponse. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a ListServicesResponse. + * @implements IListServicesResponse + * @constructor + * @param {google.api.serviceusage.v1.IListServicesResponse=} [properties] Properties to set + */ + function ListServicesResponse(properties) { + this.services = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListServicesResponse services. + * @member {Array.} services + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @instance + */ + ListServicesResponse.prototype.services = $util.emptyArray; + + /** + * ListServicesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @instance + */ + ListServicesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListServicesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1.IListServicesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.ListServicesResponse} ListServicesResponse instance + */ + ListServicesResponse.create = function create(properties) { + return new ListServicesResponse(properties); + }; + + /** + * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.ListServicesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1.IListServicesResponse} message ListServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.services != null && message.services.length) + for (var i = 0; i < message.services.length; ++i) + $root.google.api.serviceusage.v1.Service.encode(message.services[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.ListServicesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1.IListServicesResponse} message ListServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.ListServicesResponse} ListServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.ListServicesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.services && message.services.length)) + message.services = []; + message.services.push($root.google.api.serviceusage.v1.Service.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.ListServicesResponse} ListServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListServicesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListServicesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.services != null && message.hasOwnProperty("services")) { + if (!Array.isArray(message.services)) + return "services: array expected"; + for (var i = 0; i < message.services.length; ++i) { + var error = $root.google.api.serviceusage.v1.Service.verify(message.services[i]); + if (error) + return "services." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.ListServicesResponse} ListServicesResponse + */ + ListServicesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.ListServicesResponse) + return object; + var message = new $root.google.api.serviceusage.v1.ListServicesResponse(); + if (object.services) { + if (!Array.isArray(object.services)) + throw TypeError(".google.api.serviceusage.v1.ListServicesResponse.services: array expected"); + message.services = []; + for (var i = 0; i < object.services.length; ++i) { + if (typeof object.services[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.ListServicesResponse.services: object expected"); + message.services[i] = $root.google.api.serviceusage.v1.Service.fromObject(object.services[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1.ListServicesResponse} message ListServicesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListServicesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.services = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.services && message.services.length) { + object.services = []; + for (var j = 0; j < message.services.length; ++j) + object.services[j] = $root.google.api.serviceusage.v1.Service.toObject(message.services[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListServicesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @instance + * @returns {Object.} JSON object + */ + ListServicesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListServicesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.ListServicesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListServicesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.ListServicesResponse"; + }; + + return ListServicesResponse; + })(); + + v1.BatchEnableServicesRequest = (function() { + + /** + * Properties of a BatchEnableServicesRequest. + * @memberof google.api.serviceusage.v1 + * @interface IBatchEnableServicesRequest + * @property {string|null} [parent] BatchEnableServicesRequest parent + * @property {Array.|null} [serviceIds] BatchEnableServicesRequest serviceIds + */ + + /** + * Constructs a new BatchEnableServicesRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a BatchEnableServicesRequest. + * @implements IBatchEnableServicesRequest + * @constructor + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest=} [properties] Properties to set + */ + function BatchEnableServicesRequest(properties) { + this.serviceIds = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchEnableServicesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @instance + */ + BatchEnableServicesRequest.prototype.parent = ""; + + /** + * BatchEnableServicesRequest serviceIds. + * @member {Array.} serviceIds + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @instance + */ + BatchEnableServicesRequest.prototype.serviceIds = $util.emptyArray; + + /** + * Creates a new BatchEnableServicesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.BatchEnableServicesRequest} BatchEnableServicesRequest instance + */ + BatchEnableServicesRequest.create = function create(properties) { + return new BatchEnableServicesRequest(properties); + }; + + /** + * Encodes the specified BatchEnableServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest} message BatchEnableServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.serviceIds != null && message.serviceIds.length) + for (var i = 0; i < message.serviceIds.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.serviceIds[i]); + return writer; + }; + + /** + * Encodes the specified BatchEnableServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesRequest} message BatchEnableServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.BatchEnableServicesRequest} BatchEnableServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.BatchEnableServicesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + if (!(message.serviceIds && message.serviceIds.length)) + message.serviceIds = []; + message.serviceIds.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.BatchEnableServicesRequest} BatchEnableServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchEnableServicesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchEnableServicesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.serviceIds != null && message.hasOwnProperty("serviceIds")) { + if (!Array.isArray(message.serviceIds)) + return "serviceIds: array expected"; + for (var i = 0; i < message.serviceIds.length; ++i) + if (!$util.isString(message.serviceIds[i])) + return "serviceIds: string[] expected"; + } + return null; + }; + + /** + * Creates a BatchEnableServicesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.BatchEnableServicesRequest} BatchEnableServicesRequest + */ + BatchEnableServicesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.BatchEnableServicesRequest) + return object; + var message = new $root.google.api.serviceusage.v1.BatchEnableServicesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.serviceIds) { + if (!Array.isArray(object.serviceIds)) + throw TypeError(".google.api.serviceusage.v1.BatchEnableServicesRequest.serviceIds: array expected"); + message.serviceIds = []; + for (var i = 0; i < object.serviceIds.length; ++i) + message.serviceIds[i] = String(object.serviceIds[i]); + } + return message; + }; + + /** + * Creates a plain object from a BatchEnableServicesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesRequest} message BatchEnableServicesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchEnableServicesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.serviceIds = []; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.serviceIds && message.serviceIds.length) { + object.serviceIds = []; + for (var j = 0; j < message.serviceIds.length; ++j) + object.serviceIds[j] = message.serviceIds[j]; + } + return object; + }; + + /** + * Converts this BatchEnableServicesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchEnableServicesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchEnableServicesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.BatchEnableServicesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchEnableServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.BatchEnableServicesRequest"; + }; + + return BatchEnableServicesRequest; + })(); + + v1.BatchEnableServicesResponse = (function() { + + /** + * Properties of a BatchEnableServicesResponse. + * @memberof google.api.serviceusage.v1 + * @interface IBatchEnableServicesResponse + * @property {Array.|null} [services] BatchEnableServicesResponse services + * @property {Array.|null} [failures] BatchEnableServicesResponse failures + */ + + /** + * Constructs a new BatchEnableServicesResponse. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a BatchEnableServicesResponse. + * @implements IBatchEnableServicesResponse + * @constructor + * @param {google.api.serviceusage.v1.IBatchEnableServicesResponse=} [properties] Properties to set + */ + function BatchEnableServicesResponse(properties) { + this.services = []; + this.failures = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchEnableServicesResponse services. + * @member {Array.} services + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @instance + */ + BatchEnableServicesResponse.prototype.services = $util.emptyArray; + + /** + * BatchEnableServicesResponse failures. + * @member {Array.} failures + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @instance + */ + BatchEnableServicesResponse.prototype.failures = $util.emptyArray; + + /** + * Creates a new BatchEnableServicesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse} BatchEnableServicesResponse instance + */ + BatchEnableServicesResponse.create = function create(properties) { + return new BatchEnableServicesResponse(properties); + }; + + /** + * Encodes the specified BatchEnableServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesResponse} message BatchEnableServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.services != null && message.services.length) + for (var i = 0; i < message.services.length; ++i) + $root.google.api.serviceusage.v1.Service.encode(message.services[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.failures != null && message.failures.length) + for (var i = 0; i < message.failures.length; ++i) + $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.encode(message.failures[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchEnableServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchEnableServicesResponse} message BatchEnableServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchEnableServicesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse} BatchEnableServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.BatchEnableServicesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.services && message.services.length)) + message.services = []; + message.services.push($root.google.api.serviceusage.v1.Service.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.failures && message.failures.length)) + message.failures = []; + message.failures.push($root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchEnableServicesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse} BatchEnableServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchEnableServicesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchEnableServicesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.services != null && message.hasOwnProperty("services")) { + if (!Array.isArray(message.services)) + return "services: array expected"; + for (var i = 0; i < message.services.length; ++i) { + var error = $root.google.api.serviceusage.v1.Service.verify(message.services[i]); + if (error) + return "services." + error; + } + } + if (message.failures != null && message.hasOwnProperty("failures")) { + if (!Array.isArray(message.failures)) + return "failures: array expected"; + for (var i = 0; i < message.failures.length; ++i) { + var error = $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.verify(message.failures[i]); + if (error) + return "failures." + error; + } + } + return null; + }; + + /** + * Creates a BatchEnableServicesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse} BatchEnableServicesResponse + */ + BatchEnableServicesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.BatchEnableServicesResponse) + return object; + var message = new $root.google.api.serviceusage.v1.BatchEnableServicesResponse(); + if (object.services) { + if (!Array.isArray(object.services)) + throw TypeError(".google.api.serviceusage.v1.BatchEnableServicesResponse.services: array expected"); + message.services = []; + for (var i = 0; i < object.services.length; ++i) { + if (typeof object.services[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.BatchEnableServicesResponse.services: object expected"); + message.services[i] = $root.google.api.serviceusage.v1.Service.fromObject(object.services[i]); + } + } + if (object.failures) { + if (!Array.isArray(object.failures)) + throw TypeError(".google.api.serviceusage.v1.BatchEnableServicesResponse.failures: array expected"); + message.failures = []; + for (var i = 0; i < object.failures.length; ++i) { + if (typeof object.failures[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.BatchEnableServicesResponse.failures: object expected"); + message.failures[i] = $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.fromObject(object.failures[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchEnableServicesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse} message BatchEnableServicesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchEnableServicesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.services = []; + object.failures = []; + } + if (message.services && message.services.length) { + object.services = []; + for (var j = 0; j < message.services.length; ++j) + object.services[j] = $root.google.api.serviceusage.v1.Service.toObject(message.services[j], options); + } + if (message.failures && message.failures.length) { + object.failures = []; + for (var j = 0; j < message.failures.length; ++j) + object.failures[j] = $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.toObject(message.failures[j], options); + } + return object; + }; + + /** + * Converts this BatchEnableServicesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchEnableServicesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchEnableServicesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchEnableServicesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.BatchEnableServicesResponse"; + }; + + BatchEnableServicesResponse.EnableFailure = (function() { + + /** + * Properties of an EnableFailure. + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @interface IEnableFailure + * @property {string|null} [serviceId] EnableFailure serviceId + * @property {string|null} [errorMessage] EnableFailure errorMessage + */ + + /** + * Constructs a new EnableFailure. + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse + * @classdesc Represents an EnableFailure. + * @implements IEnableFailure + * @constructor + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure=} [properties] Properties to set + */ + function EnableFailure(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnableFailure serviceId. + * @member {string} serviceId + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @instance + */ + EnableFailure.prototype.serviceId = ""; + + /** + * EnableFailure errorMessage. + * @member {string} errorMessage + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @instance + */ + EnableFailure.prototype.errorMessage = ""; + + /** + * Creates a new EnableFailure instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure} EnableFailure instance + */ + EnableFailure.create = function create(properties) { + return new EnableFailure(properties); + }; + + /** + * Encodes the specified EnableFailure message. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure} message EnableFailure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableFailure.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.serviceId != null && Object.hasOwnProperty.call(message, "serviceId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.serviceId); + if (message.errorMessage != null && Object.hasOwnProperty.call(message, "errorMessage")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.errorMessage); + return writer; + }; + + /** + * Encodes the specified EnableFailure message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse.IEnableFailure} message EnableFailure message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableFailure.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnableFailure message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure} EnableFailure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableFailure.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.serviceId = reader.string(); + break; + } + case 2: { + message.errorMessage = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnableFailure message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure} EnableFailure + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableFailure.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnableFailure message. + * @function verify + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnableFailure.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.serviceId != null && message.hasOwnProperty("serviceId")) + if (!$util.isString(message.serviceId)) + return "serviceId: string expected"; + if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) + if (!$util.isString(message.errorMessage)) + return "errorMessage: string expected"; + return null; + }; + + /** + * Creates an EnableFailure message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure} EnableFailure + */ + EnableFailure.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure) + return object; + var message = new $root.google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure(); + if (object.serviceId != null) + message.serviceId = String(object.serviceId); + if (object.errorMessage != null) + message.errorMessage = String(object.errorMessage); + return message; + }; + + /** + * Creates a plain object from an EnableFailure message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure} message EnableFailure + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnableFailure.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.serviceId = ""; + object.errorMessage = ""; + } + if (message.serviceId != null && message.hasOwnProperty("serviceId")) + object.serviceId = message.serviceId; + if (message.errorMessage != null && message.hasOwnProperty("errorMessage")) + object.errorMessage = message.errorMessage; + return object; + }; + + /** + * Converts this EnableFailure to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @instance + * @returns {Object.} JSON object + */ + EnableFailure.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnableFailure + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnableFailure.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.BatchEnableServicesResponse.EnableFailure"; + }; + + return EnableFailure; + })(); + + return BatchEnableServicesResponse; + })(); + + v1.BatchGetServicesRequest = (function() { + + /** + * Properties of a BatchGetServicesRequest. + * @memberof google.api.serviceusage.v1 + * @interface IBatchGetServicesRequest + * @property {string|null} [parent] BatchGetServicesRequest parent + * @property {Array.|null} [names] BatchGetServicesRequest names + */ + + /** + * Constructs a new BatchGetServicesRequest. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a BatchGetServicesRequest. + * @implements IBatchGetServicesRequest + * @constructor + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest=} [properties] Properties to set + */ + function BatchGetServicesRequest(properties) { + this.names = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchGetServicesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @instance + */ + BatchGetServicesRequest.prototype.parent = ""; + + /** + * BatchGetServicesRequest names. + * @member {Array.} names + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @instance + */ + BatchGetServicesRequest.prototype.names = $util.emptyArray; + + /** + * Creates a new BatchGetServicesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.BatchGetServicesRequest} BatchGetServicesRequest instance + */ + BatchGetServicesRequest.create = function create(properties) { + return new BatchGetServicesRequest(properties); + }; + + /** + * Encodes the specified BatchGetServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest} message BatchGetServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchGetServicesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.names != null && message.names.length) + for (var i = 0; i < message.names.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.names[i]); + return writer; + }; + + /** + * Encodes the specified BatchGetServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesRequest} message BatchGetServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchGetServicesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchGetServicesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.BatchGetServicesRequest} BatchGetServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchGetServicesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.BatchGetServicesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + if (!(message.names && message.names.length)) + message.names = []; + message.names.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchGetServicesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.BatchGetServicesRequest} BatchGetServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchGetServicesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchGetServicesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchGetServicesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.names != null && message.hasOwnProperty("names")) { + if (!Array.isArray(message.names)) + return "names: array expected"; + for (var i = 0; i < message.names.length; ++i) + if (!$util.isString(message.names[i])) + return "names: string[] expected"; + } + return null; + }; + + /** + * Creates a BatchGetServicesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.BatchGetServicesRequest} BatchGetServicesRequest + */ + BatchGetServicesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.BatchGetServicesRequest) + return object; + var message = new $root.google.api.serviceusage.v1.BatchGetServicesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.names) { + if (!Array.isArray(object.names)) + throw TypeError(".google.api.serviceusage.v1.BatchGetServicesRequest.names: array expected"); + message.names = []; + for (var i = 0; i < object.names.length; ++i) + message.names[i] = String(object.names[i]); + } + return message; + }; + + /** + * Creates a plain object from a BatchGetServicesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {google.api.serviceusage.v1.BatchGetServicesRequest} message BatchGetServicesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchGetServicesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.names = []; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.names && message.names.length) { + object.names = []; + for (var j = 0; j < message.names.length; ++j) + object.names[j] = message.names[j]; + } + return object; + }; + + /** + * Converts this BatchGetServicesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchGetServicesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchGetServicesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.BatchGetServicesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchGetServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.BatchGetServicesRequest"; + }; + + return BatchGetServicesRequest; + })(); + + v1.BatchGetServicesResponse = (function() { + + /** + * Properties of a BatchGetServicesResponse. + * @memberof google.api.serviceusage.v1 + * @interface IBatchGetServicesResponse + * @property {Array.|null} [services] BatchGetServicesResponse services + */ + + /** + * Constructs a new BatchGetServicesResponse. + * @memberof google.api.serviceusage.v1 + * @classdesc Represents a BatchGetServicesResponse. + * @implements IBatchGetServicesResponse + * @constructor + * @param {google.api.serviceusage.v1.IBatchGetServicesResponse=} [properties] Properties to set + */ + function BatchGetServicesResponse(properties) { + this.services = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchGetServicesResponse services. + * @member {Array.} services + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @instance + */ + BatchGetServicesResponse.prototype.services = $util.emptyArray; + + /** + * Creates a new BatchGetServicesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1.BatchGetServicesResponse} BatchGetServicesResponse instance + */ + BatchGetServicesResponse.create = function create(properties) { + return new BatchGetServicesResponse(properties); + }; + + /** + * Encodes the specified BatchGetServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesResponse} message BatchGetServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchGetServicesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.services != null && message.services.length) + for (var i = 0; i < message.services.length; ++i) + $root.google.api.serviceusage.v1.Service.encode(message.services[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchGetServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1.BatchGetServicesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {google.api.serviceusage.v1.IBatchGetServicesResponse} message BatchGetServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchGetServicesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchGetServicesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1.BatchGetServicesResponse} BatchGetServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchGetServicesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1.BatchGetServicesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.services && message.services.length)) + message.services = []; + message.services.push($root.google.api.serviceusage.v1.Service.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchGetServicesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1.BatchGetServicesResponse} BatchGetServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchGetServicesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchGetServicesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchGetServicesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.services != null && message.hasOwnProperty("services")) { + if (!Array.isArray(message.services)) + return "services: array expected"; + for (var i = 0; i < message.services.length; ++i) { + var error = $root.google.api.serviceusage.v1.Service.verify(message.services[i]); + if (error) + return "services." + error; + } + } + return null; + }; + + /** + * Creates a BatchGetServicesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1.BatchGetServicesResponse} BatchGetServicesResponse + */ + BatchGetServicesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1.BatchGetServicesResponse) + return object; + var message = new $root.google.api.serviceusage.v1.BatchGetServicesResponse(); + if (object.services) { + if (!Array.isArray(object.services)) + throw TypeError(".google.api.serviceusage.v1.BatchGetServicesResponse.services: array expected"); + message.services = []; + for (var i = 0; i < object.services.length; ++i) { + if (typeof object.services[i] !== "object") + throw TypeError(".google.api.serviceusage.v1.BatchGetServicesResponse.services: object expected"); + message.services[i] = $root.google.api.serviceusage.v1.Service.fromObject(object.services[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchGetServicesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {google.api.serviceusage.v1.BatchGetServicesResponse} message BatchGetServicesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchGetServicesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.services = []; + if (message.services && message.services.length) { + object.services = []; + for (var j = 0; j < message.services.length; ++j) + object.services[j] = $root.google.api.serviceusage.v1.Service.toObject(message.services[j], options); + } + return object; + }; + + /** + * Converts this BatchGetServicesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchGetServicesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchGetServicesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1.BatchGetServicesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchGetServicesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1.BatchGetServicesResponse"; + }; + + return BatchGetServicesResponse; + })(); + + return v1; + })(); + + serviceusage.v1beta1 = (function() { + + /** + * Namespace v1beta1. + * @memberof google.api.serviceusage + * @namespace + */ + var v1beta1 = {}; + + v1beta1.Service = (function() { + + /** + * Properties of a Service. + * @memberof google.api.serviceusage.v1beta1 + * @interface IService + * @property {string|null} [name] Service name + * @property {string|null} [parent] Service parent + * @property {google.api.serviceusage.v1beta1.IServiceConfig|null} [config] Service config + * @property {google.api.serviceusage.v1beta1.State|null} [state] Service state + */ + + /** + * Constructs a new Service. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a Service. + * @implements IService + * @constructor + * @param {google.api.serviceusage.v1beta1.IService=} [properties] Properties to set + */ + function Service(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Service name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.Service + * @instance + */ + Service.prototype.name = ""; + + /** + * Service parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.Service + * @instance + */ + Service.prototype.parent = ""; + + /** + * Service config. + * @member {google.api.serviceusage.v1beta1.IServiceConfig|null|undefined} config + * @memberof google.api.serviceusage.v1beta1.Service + * @instance + */ + Service.prototype.config = null; + + /** + * Service state. + * @member {google.api.serviceusage.v1beta1.State} state + * @memberof google.api.serviceusage.v1beta1.Service + * @instance + */ + Service.prototype.state = 0; + + /** + * Creates a new Service instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {google.api.serviceusage.v1beta1.IService=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.Service} Service instance + */ + Service.create = function create(properties) { + return new Service(properties); + }; + + /** + * Encodes the specified Service message. Does not implicitly {@link google.api.serviceusage.v1beta1.Service.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {google.api.serviceusage.v1beta1.IService} message Service message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Service.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.config != null && Object.hasOwnProperty.call(message, "config")) + $root.google.api.serviceusage.v1beta1.ServiceConfig.encode(message.config, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.state); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.parent); + return writer; + }; + + /** + * Encodes the specified Service message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.Service.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {google.api.serviceusage.v1beta1.IService} message Service message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Service.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Service message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.Service} Service + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Service.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.Service(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 5: { + message.parent = reader.string(); + break; + } + case 2: { + message.config = $root.google.api.serviceusage.v1beta1.ServiceConfig.decode(reader, reader.uint32()); + break; + } + case 4: { + message.state = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Service message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.Service} Service + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Service.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Service message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Service.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.config != null && message.hasOwnProperty("config")) { + var error = $root.google.api.serviceusage.v1beta1.ServiceConfig.verify(message.config); + if (error) + return "config." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a Service message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.Service} Service + */ + Service.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.Service) + return object; + var message = new $root.google.api.serviceusage.v1beta1.Service(); + if (object.name != null) + message.name = String(object.name); + if (object.parent != null) + message.parent = String(object.parent); + if (object.config != null) { + if (typeof object.config !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.Service.config: object expected"); + message.config = $root.google.api.serviceusage.v1beta1.ServiceConfig.fromObject(object.config); + } + switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; + case "STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "DISABLED": + case 1: + message.state = 1; + break; + case "ENABLED": + case 2: + message.state = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a Service message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {google.api.serviceusage.v1beta1.Service} message Service + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Service.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.config = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.parent = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.config != null && message.hasOwnProperty("config")) + object.config = $root.google.api.serviceusage.v1beta1.ServiceConfig.toObject(message.config, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.api.serviceusage.v1beta1.State[message.state] === undefined ? message.state : $root.google.api.serviceusage.v1beta1.State[message.state] : message.state; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this Service to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.Service + * @instance + * @returns {Object.} JSON object + */ + Service.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Service + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.Service + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Service.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.Service"; + }; + + return Service; + })(); + + /** + * State enum. + * @name google.api.serviceusage.v1beta1.State + * @enum {number} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} DISABLED=1 DISABLED value + * @property {number} ENABLED=2 ENABLED value + */ + v1beta1.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DISABLED"] = 1; + values[valuesById[2] = "ENABLED"] = 2; + return values; + })(); + + v1beta1.ServiceConfig = (function() { + + /** + * Properties of a ServiceConfig. + * @memberof google.api.serviceusage.v1beta1 + * @interface IServiceConfig + * @property {string|null} [name] ServiceConfig name + * @property {string|null} [title] ServiceConfig title + * @property {Array.|null} [apis] ServiceConfig apis + * @property {google.api.IDocumentation|null} [documentation] ServiceConfig documentation + * @property {google.api.IQuota|null} [quota] ServiceConfig quota + * @property {google.api.IAuthentication|null} [authentication] ServiceConfig authentication + * @property {google.api.IUsage|null} [usage] ServiceConfig usage + * @property {Array.|null} [endpoints] ServiceConfig endpoints + * @property {Array.|null} [monitoredResources] ServiceConfig monitoredResources + * @property {google.api.IMonitoring|null} [monitoring] ServiceConfig monitoring + */ + + /** + * Constructs a new ServiceConfig. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ServiceConfig. + * @implements IServiceConfig + * @constructor + * @param {google.api.serviceusage.v1beta1.IServiceConfig=} [properties] Properties to set + */ + function ServiceConfig(properties) { + this.apis = []; + this.endpoints = []; + this.monitoredResources = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceConfig name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.name = ""; + + /** + * ServiceConfig title. + * @member {string} title + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.title = ""; + + /** + * ServiceConfig apis. + * @member {Array.} apis + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.apis = $util.emptyArray; + + /** + * ServiceConfig documentation. + * @member {google.api.IDocumentation|null|undefined} documentation + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.documentation = null; + + /** + * ServiceConfig quota. + * @member {google.api.IQuota|null|undefined} quota + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.quota = null; + + /** + * ServiceConfig authentication. + * @member {google.api.IAuthentication|null|undefined} authentication + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.authentication = null; + + /** + * ServiceConfig usage. + * @member {google.api.IUsage|null|undefined} usage + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.usage = null; + + /** + * ServiceConfig endpoints. + * @member {Array.} endpoints + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.endpoints = $util.emptyArray; + + /** + * ServiceConfig monitoredResources. + * @member {Array.} monitoredResources + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.monitoredResources = $util.emptyArray; + + /** + * ServiceConfig monitoring. + * @member {google.api.IMonitoring|null|undefined} monitoring + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + */ + ServiceConfig.prototype.monitoring = null; + + /** + * Creates a new ServiceConfig instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1beta1.IServiceConfig=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ServiceConfig} ServiceConfig instance + */ + ServiceConfig.create = function create(properties) { + return new ServiceConfig(properties); + }; + + /** + * Encodes the specified ServiceConfig message. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceConfig.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1beta1.IServiceConfig} message ServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceConfig.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.title != null && Object.hasOwnProperty.call(message, "title")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.title); + if (message.apis != null && message.apis.length) + for (var i = 0; i < message.apis.length; ++i) + $root.google.protobuf.Api.encode(message.apis[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.documentation != null && Object.hasOwnProperty.call(message, "documentation")) + $root.google.api.Documentation.encode(message.documentation, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.quota != null && Object.hasOwnProperty.call(message, "quota")) + $root.google.api.Quota.encode(message.quota, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.authentication != null && Object.hasOwnProperty.call(message, "authentication")) + $root.google.api.Authentication.encode(message.authentication, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.usage != null && Object.hasOwnProperty.call(message, "usage")) + $root.google.api.Usage.encode(message.usage, writer.uint32(/* id 15, wireType 2 =*/122).fork()).ldelim(); + if (message.endpoints != null && message.endpoints.length) + for (var i = 0; i < message.endpoints.length; ++i) + $root.google.api.Endpoint.encode(message.endpoints[i], writer.uint32(/* id 18, wireType 2 =*/146).fork()).ldelim(); + if (message.monitoredResources != null && message.monitoredResources.length) + for (var i = 0; i < message.monitoredResources.length; ++i) + $root.google.api.MonitoredResourceDescriptor.encode(message.monitoredResources[i], writer.uint32(/* id 25, wireType 2 =*/202).fork()).ldelim(); + if (message.monitoring != null && Object.hasOwnProperty.call(message, "monitoring")) + $root.google.api.Monitoring.encode(message.monitoring, writer.uint32(/* id 28, wireType 2 =*/226).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ServiceConfig message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceConfig.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1beta1.IServiceConfig} message ServiceConfig message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceConfig.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ServiceConfig} ServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceConfig.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ServiceConfig(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.title = reader.string(); + break; + } + case 3: { + if (!(message.apis && message.apis.length)) + message.apis = []; + message.apis.push($root.google.protobuf.Api.decode(reader, reader.uint32())); + break; + } + case 6: { + message.documentation = $root.google.api.Documentation.decode(reader, reader.uint32()); + break; + } + case 10: { + message.quota = $root.google.api.Quota.decode(reader, reader.uint32()); + break; + } + case 11: { + message.authentication = $root.google.api.Authentication.decode(reader, reader.uint32()); + break; + } + case 15: { + message.usage = $root.google.api.Usage.decode(reader, reader.uint32()); + break; + } + case 18: { + if (!(message.endpoints && message.endpoints.length)) + message.endpoints = []; + message.endpoints.push($root.google.api.Endpoint.decode(reader, reader.uint32())); + break; + } + case 25: { + if (!(message.monitoredResources && message.monitoredResources.length)) + message.monitoredResources = []; + message.monitoredResources.push($root.google.api.MonitoredResourceDescriptor.decode(reader, reader.uint32())); + break; + } + case 28: { + message.monitoring = $root.google.api.Monitoring.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceConfig message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ServiceConfig} ServiceConfig + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceConfig.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceConfig message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceConfig.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.title != null && message.hasOwnProperty("title")) + if (!$util.isString(message.title)) + return "title: string expected"; + if (message.apis != null && message.hasOwnProperty("apis")) { + if (!Array.isArray(message.apis)) + return "apis: array expected"; + for (var i = 0; i < message.apis.length; ++i) { + var error = $root.google.protobuf.Api.verify(message.apis[i]); + if (error) + return "apis." + error; + } + } + if (message.documentation != null && message.hasOwnProperty("documentation")) { + var error = $root.google.api.Documentation.verify(message.documentation); + if (error) + return "documentation." + error; + } + if (message.quota != null && message.hasOwnProperty("quota")) { + var error = $root.google.api.Quota.verify(message.quota); + if (error) + return "quota." + error; + } + if (message.authentication != null && message.hasOwnProperty("authentication")) { + var error = $root.google.api.Authentication.verify(message.authentication); + if (error) + return "authentication." + error; + } + if (message.usage != null && message.hasOwnProperty("usage")) { + var error = $root.google.api.Usage.verify(message.usage); + if (error) + return "usage." + error; + } + if (message.endpoints != null && message.hasOwnProperty("endpoints")) { + if (!Array.isArray(message.endpoints)) + return "endpoints: array expected"; + for (var i = 0; i < message.endpoints.length; ++i) { + var error = $root.google.api.Endpoint.verify(message.endpoints[i]); + if (error) + return "endpoints." + error; + } + } + if (message.monitoredResources != null && message.hasOwnProperty("monitoredResources")) { + if (!Array.isArray(message.monitoredResources)) + return "monitoredResources: array expected"; + for (var i = 0; i < message.monitoredResources.length; ++i) { + var error = $root.google.api.MonitoredResourceDescriptor.verify(message.monitoredResources[i]); + if (error) + return "monitoredResources." + error; + } + } + if (message.monitoring != null && message.hasOwnProperty("monitoring")) { + var error = $root.google.api.Monitoring.verify(message.monitoring); + if (error) + return "monitoring." + error; + } + return null; + }; + + /** + * Creates a ServiceConfig message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ServiceConfig} ServiceConfig + */ + ServiceConfig.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ServiceConfig) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ServiceConfig(); + if (object.name != null) + message.name = String(object.name); + if (object.title != null) + message.title = String(object.title); + if (object.apis) { + if (!Array.isArray(object.apis)) + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.apis: array expected"); + message.apis = []; + for (var i = 0; i < object.apis.length; ++i) { + if (typeof object.apis[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.apis: object expected"); + message.apis[i] = $root.google.protobuf.Api.fromObject(object.apis[i]); + } + } + if (object.documentation != null) { + if (typeof object.documentation !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.documentation: object expected"); + message.documentation = $root.google.api.Documentation.fromObject(object.documentation); + } + if (object.quota != null) { + if (typeof object.quota !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.quota: object expected"); + message.quota = $root.google.api.Quota.fromObject(object.quota); + } + if (object.authentication != null) { + if (typeof object.authentication !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.authentication: object expected"); + message.authentication = $root.google.api.Authentication.fromObject(object.authentication); + } + if (object.usage != null) { + if (typeof object.usage !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.usage: object expected"); + message.usage = $root.google.api.Usage.fromObject(object.usage); + } + if (object.endpoints) { + if (!Array.isArray(object.endpoints)) + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.endpoints: array expected"); + message.endpoints = []; + for (var i = 0; i < object.endpoints.length; ++i) { + if (typeof object.endpoints[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.endpoints: object expected"); + message.endpoints[i] = $root.google.api.Endpoint.fromObject(object.endpoints[i]); + } + } + if (object.monitoredResources) { + if (!Array.isArray(object.monitoredResources)) + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.monitoredResources: array expected"); + message.monitoredResources = []; + for (var i = 0; i < object.monitoredResources.length; ++i) { + if (typeof object.monitoredResources[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.monitoredResources: object expected"); + message.monitoredResources[i] = $root.google.api.MonitoredResourceDescriptor.fromObject(object.monitoredResources[i]); + } + } + if (object.monitoring != null) { + if (typeof object.monitoring !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ServiceConfig.monitoring: object expected"); + message.monitoring = $root.google.api.Monitoring.fromObject(object.monitoring); + } + return message; + }; + + /** + * Creates a plain object from a ServiceConfig message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {google.api.serviceusage.v1beta1.ServiceConfig} message ServiceConfig + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceConfig.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.apis = []; + object.endpoints = []; + object.monitoredResources = []; + } + if (options.defaults) { + object.name = ""; + object.title = ""; + object.documentation = null; + object.quota = null; + object.authentication = null; + object.usage = null; + object.monitoring = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.title != null && message.hasOwnProperty("title")) + object.title = message.title; + if (message.apis && message.apis.length) { + object.apis = []; + for (var j = 0; j < message.apis.length; ++j) + object.apis[j] = $root.google.protobuf.Api.toObject(message.apis[j], options); + } + if (message.documentation != null && message.hasOwnProperty("documentation")) + object.documentation = $root.google.api.Documentation.toObject(message.documentation, options); + if (message.quota != null && message.hasOwnProperty("quota")) + object.quota = $root.google.api.Quota.toObject(message.quota, options); + if (message.authentication != null && message.hasOwnProperty("authentication")) + object.authentication = $root.google.api.Authentication.toObject(message.authentication, options); + if (message.usage != null && message.hasOwnProperty("usage")) + object.usage = $root.google.api.Usage.toObject(message.usage, options); + if (message.endpoints && message.endpoints.length) { + object.endpoints = []; + for (var j = 0; j < message.endpoints.length; ++j) + object.endpoints[j] = $root.google.api.Endpoint.toObject(message.endpoints[j], options); + } + if (message.monitoredResources && message.monitoredResources.length) { + object.monitoredResources = []; + for (var j = 0; j < message.monitoredResources.length; ++j) + object.monitoredResources[j] = $root.google.api.MonitoredResourceDescriptor.toObject(message.monitoredResources[j], options); + } + if (message.monitoring != null && message.hasOwnProperty("monitoring")) + object.monitoring = $root.google.api.Monitoring.toObject(message.monitoring, options); + return object; + }; + + /** + * Converts this ServiceConfig to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @instance + * @returns {Object.} JSON object + */ + ServiceConfig.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceConfig + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ServiceConfig + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceConfig.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ServiceConfig"; + }; + + return ServiceConfig; + })(); + + v1beta1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IOperationMetadata + * @property {Array.|null} [resourceNames] OperationMetadata resourceNames + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(properties) { + this.resourceNames = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationMetadata resourceNames. + * @member {Array.} resourceNames + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.resourceNames = $util.emptyArray; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.resourceNames != null && message.resourceNames.length) + for (var i = 0; i < message.resourceNames.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.resourceNames[i]); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 2: { + if (!(message.resourceNames && message.resourceNames.length)) + message.resourceNames = []; + message.resourceNames.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.resourceNames != null && message.hasOwnProperty("resourceNames")) { + if (!Array.isArray(message.resourceNames)) + return "resourceNames: array expected"; + for (var i = 0; i < message.resourceNames.length; ++i) + if (!$util.isString(message.resourceNames[i])) + return "resourceNames: string[] expected"; + } + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.OperationMetadata) + return object; + var message = new $root.google.api.serviceusage.v1beta1.OperationMetadata(); + if (object.resourceNames) { + if (!Array.isArray(object.resourceNames)) + throw TypeError(".google.api.serviceusage.v1beta1.OperationMetadata.resourceNames: array expected"); + message.resourceNames = []; + for (var i = 0; i < object.resourceNames.length; ++i) + message.resourceNames[i] = String(object.resourceNames[i]); + } + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {google.api.serviceusage.v1beta1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.resourceNames = []; + if (message.resourceNames && message.resourceNames.length) { + object.resourceNames = []; + for (var j = 0; j < message.resourceNames.length; ++j) + object.resourceNames[j] = message.resourceNames[j]; + } + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.OperationMetadata"; + }; + + return OperationMetadata; + })(); + + v1beta1.ConsumerQuotaMetric = (function() { + + /** + * Properties of a ConsumerQuotaMetric. + * @memberof google.api.serviceusage.v1beta1 + * @interface IConsumerQuotaMetric + * @property {string|null} [name] ConsumerQuotaMetric name + * @property {string|null} [metric] ConsumerQuotaMetric metric + * @property {string|null} [displayName] ConsumerQuotaMetric displayName + * @property {Array.|null} [consumerQuotaLimits] ConsumerQuotaMetric consumerQuotaLimits + * @property {Array.|null} [descendantConsumerQuotaLimits] ConsumerQuotaMetric descendantConsumerQuotaLimits + * @property {string|null} [unit] ConsumerQuotaMetric unit + */ + + /** + * Constructs a new ConsumerQuotaMetric. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ConsumerQuotaMetric. + * @implements IConsumerQuotaMetric + * @constructor + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaMetric=} [properties] Properties to set + */ + function ConsumerQuotaMetric(properties) { + this.consumerQuotaLimits = []; + this.descendantConsumerQuotaLimits = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsumerQuotaMetric name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.name = ""; + + /** + * ConsumerQuotaMetric metric. + * @member {string} metric + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.metric = ""; + + /** + * ConsumerQuotaMetric displayName. + * @member {string} displayName + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.displayName = ""; + + /** + * ConsumerQuotaMetric consumerQuotaLimits. + * @member {Array.} consumerQuotaLimits + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.consumerQuotaLimits = $util.emptyArray; + + /** + * ConsumerQuotaMetric descendantConsumerQuotaLimits. + * @member {Array.} descendantConsumerQuotaLimits + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.descendantConsumerQuotaLimits = $util.emptyArray; + + /** + * ConsumerQuotaMetric unit. + * @member {string} unit + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + */ + ConsumerQuotaMetric.prototype.unit = ""; + + /** + * Creates a new ConsumerQuotaMetric instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaMetric=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} ConsumerQuotaMetric instance + */ + ConsumerQuotaMetric.create = function create(properties) { + return new ConsumerQuotaMetric(properties); + }; + + /** + * Encodes the specified ConsumerQuotaMetric message. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaMetric} message ConsumerQuotaMetric message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsumerQuotaMetric.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.consumerQuotaLimits != null && message.consumerQuotaLimits.length) + for (var i = 0; i < message.consumerQuotaLimits.length; ++i) + $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.encode(message.consumerQuotaLimits[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.metric != null && Object.hasOwnProperty.call(message, "metric")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.metric); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.unit); + if (message.descendantConsumerQuotaLimits != null && message.descendantConsumerQuotaLimits.length) + for (var i = 0; i < message.descendantConsumerQuotaLimits.length; ++i) + $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.encode(message.descendantConsumerQuotaLimits[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConsumerQuotaMetric message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaMetric} message ConsumerQuotaMetric message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsumerQuotaMetric.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsumerQuotaMetric message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} ConsumerQuotaMetric + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsumerQuotaMetric.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 4: { + message.metric = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + if (!(message.consumerQuotaLimits && message.consumerQuotaLimits.length)) + message.consumerQuotaLimits = []; + message.consumerQuotaLimits.push($root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.decode(reader, reader.uint32())); + break; + } + case 6: { + if (!(message.descendantConsumerQuotaLimits && message.descendantConsumerQuotaLimits.length)) + message.descendantConsumerQuotaLimits = []; + message.descendantConsumerQuotaLimits.push($root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.decode(reader, reader.uint32())); + break; + } + case 5: { + message.unit = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsumerQuotaMetric message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} ConsumerQuotaMetric + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsumerQuotaMetric.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsumerQuotaMetric message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsumerQuotaMetric.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metric != null && message.hasOwnProperty("metric")) + if (!$util.isString(message.metric)) + return "metric: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.consumerQuotaLimits != null && message.hasOwnProperty("consumerQuotaLimits")) { + if (!Array.isArray(message.consumerQuotaLimits)) + return "consumerQuotaLimits: array expected"; + for (var i = 0; i < message.consumerQuotaLimits.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify(message.consumerQuotaLimits[i]); + if (error) + return "consumerQuotaLimits." + error; + } + } + if (message.descendantConsumerQuotaLimits != null && message.hasOwnProperty("descendantConsumerQuotaLimits")) { + if (!Array.isArray(message.descendantConsumerQuotaLimits)) + return "descendantConsumerQuotaLimits: array expected"; + for (var i = 0; i < message.descendantConsumerQuotaLimits.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify(message.descendantConsumerQuotaLimits[i]); + if (error) + return "descendantConsumerQuotaLimits." + error; + } + } + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + return null; + }; + + /** + * Creates a ConsumerQuotaMetric message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} ConsumerQuotaMetric + */ + ConsumerQuotaMetric.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric(); + if (object.name != null) + message.name = String(object.name); + if (object.metric != null) + message.metric = String(object.metric); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.consumerQuotaLimits) { + if (!Array.isArray(object.consumerQuotaLimits)) + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaMetric.consumerQuotaLimits: array expected"); + message.consumerQuotaLimits = []; + for (var i = 0; i < object.consumerQuotaLimits.length; ++i) { + if (typeof object.consumerQuotaLimits[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaMetric.consumerQuotaLimits: object expected"); + message.consumerQuotaLimits[i] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.fromObject(object.consumerQuotaLimits[i]); + } + } + if (object.descendantConsumerQuotaLimits) { + if (!Array.isArray(object.descendantConsumerQuotaLimits)) + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaMetric.descendantConsumerQuotaLimits: array expected"); + message.descendantConsumerQuotaLimits = []; + for (var i = 0; i < object.descendantConsumerQuotaLimits.length; ++i) { + if (typeof object.descendantConsumerQuotaLimits[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaMetric.descendantConsumerQuotaLimits: object expected"); + message.descendantConsumerQuotaLimits[i] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.fromObject(object.descendantConsumerQuotaLimits[i]); + } + } + if (object.unit != null) + message.unit = String(object.unit); + return message; + }; + + /** + * Creates a plain object from a ConsumerQuotaMetric message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} message ConsumerQuotaMetric + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsumerQuotaMetric.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.consumerQuotaLimits = []; + object.descendantConsumerQuotaLimits = []; + } + if (options.defaults) { + object.name = ""; + object.displayName = ""; + object.metric = ""; + object.unit = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.consumerQuotaLimits && message.consumerQuotaLimits.length) { + object.consumerQuotaLimits = []; + for (var j = 0; j < message.consumerQuotaLimits.length; ++j) + object.consumerQuotaLimits[j] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.toObject(message.consumerQuotaLimits[j], options); + } + if (message.metric != null && message.hasOwnProperty("metric")) + object.metric = message.metric; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + if (message.descendantConsumerQuotaLimits && message.descendantConsumerQuotaLimits.length) { + object.descendantConsumerQuotaLimits = []; + for (var j = 0; j < message.descendantConsumerQuotaLimits.length; ++j) + object.descendantConsumerQuotaLimits[j] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit.toObject(message.descendantConsumerQuotaLimits[j], options); + } + return object; + }; + + /** + * Converts this ConsumerQuotaMetric to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @instance + * @returns {Object.} JSON object + */ + ConsumerQuotaMetric.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConsumerQuotaMetric + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaMetric + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConsumerQuotaMetric.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ConsumerQuotaMetric"; + }; + + return ConsumerQuotaMetric; + })(); + + v1beta1.ConsumerQuotaLimit = (function() { + + /** + * Properties of a ConsumerQuotaLimit. + * @memberof google.api.serviceusage.v1beta1 + * @interface IConsumerQuotaLimit + * @property {string|null} [name] ConsumerQuotaLimit name + * @property {string|null} [metric] ConsumerQuotaLimit metric + * @property {string|null} [unit] ConsumerQuotaLimit unit + * @property {boolean|null} [isPrecise] ConsumerQuotaLimit isPrecise + * @property {boolean|null} [allowsAdminOverrides] ConsumerQuotaLimit allowsAdminOverrides + * @property {Array.|null} [quotaBuckets] ConsumerQuotaLimit quotaBuckets + */ + + /** + * Constructs a new ConsumerQuotaLimit. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ConsumerQuotaLimit. + * @implements IConsumerQuotaLimit + * @constructor + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaLimit=} [properties] Properties to set + */ + function ConsumerQuotaLimit(properties) { + this.quotaBuckets = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConsumerQuotaLimit name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.name = ""; + + /** + * ConsumerQuotaLimit metric. + * @member {string} metric + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.metric = ""; + + /** + * ConsumerQuotaLimit unit. + * @member {string} unit + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.unit = ""; + + /** + * ConsumerQuotaLimit isPrecise. + * @member {boolean} isPrecise + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.isPrecise = false; + + /** + * ConsumerQuotaLimit allowsAdminOverrides. + * @member {boolean} allowsAdminOverrides + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.allowsAdminOverrides = false; + + /** + * ConsumerQuotaLimit quotaBuckets. + * @member {Array.} quotaBuckets + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + */ + ConsumerQuotaLimit.prototype.quotaBuckets = $util.emptyArray; + + /** + * Creates a new ConsumerQuotaLimit instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaLimit=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} ConsumerQuotaLimit instance + */ + ConsumerQuotaLimit.create = function create(properties) { + return new ConsumerQuotaLimit(properties); + }; + + /** + * Encodes the specified ConsumerQuotaLimit message. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaLimit} message ConsumerQuotaLimit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsumerQuotaLimit.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.unit); + if (message.isPrecise != null && Object.hasOwnProperty.call(message, "isPrecise")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.isPrecise); + if (message.allowsAdminOverrides != null && Object.hasOwnProperty.call(message, "allowsAdminOverrides")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.allowsAdminOverrides); + if (message.metric != null && Object.hasOwnProperty.call(message, "metric")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.metric); + if (message.quotaBuckets != null && message.quotaBuckets.length) + for (var i = 0; i < message.quotaBuckets.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaBucket.encode(message.quotaBuckets[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConsumerQuotaLimit message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ConsumerQuotaLimit.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {google.api.serviceusage.v1beta1.IConsumerQuotaLimit} message ConsumerQuotaLimit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConsumerQuotaLimit.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConsumerQuotaLimit message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} ConsumerQuotaLimit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsumerQuotaLimit.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 8: { + message.metric = reader.string(); + break; + } + case 2: { + message.unit = reader.string(); + break; + } + case 3: { + message.isPrecise = reader.bool(); + break; + } + case 7: { + message.allowsAdminOverrides = reader.bool(); + break; + } + case 9: { + if (!(message.quotaBuckets && message.quotaBuckets.length)) + message.quotaBuckets = []; + message.quotaBuckets.push($root.google.api.serviceusage.v1beta1.QuotaBucket.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConsumerQuotaLimit message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} ConsumerQuotaLimit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConsumerQuotaLimit.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConsumerQuotaLimit message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConsumerQuotaLimit.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metric != null && message.hasOwnProperty("metric")) + if (!$util.isString(message.metric)) + return "metric: string expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + if (message.isPrecise != null && message.hasOwnProperty("isPrecise")) + if (typeof message.isPrecise !== "boolean") + return "isPrecise: boolean expected"; + if (message.allowsAdminOverrides != null && message.hasOwnProperty("allowsAdminOverrides")) + if (typeof message.allowsAdminOverrides !== "boolean") + return "allowsAdminOverrides: boolean expected"; + if (message.quotaBuckets != null && message.hasOwnProperty("quotaBuckets")) { + if (!Array.isArray(message.quotaBuckets)) + return "quotaBuckets: array expected"; + for (var i = 0; i < message.quotaBuckets.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaBucket.verify(message.quotaBuckets[i]); + if (error) + return "quotaBuckets." + error; + } + } + return null; + }; + + /** + * Creates a ConsumerQuotaLimit message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} ConsumerQuotaLimit + */ + ConsumerQuotaLimit.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit(); + if (object.name != null) + message.name = String(object.name); + if (object.metric != null) + message.metric = String(object.metric); + if (object.unit != null) + message.unit = String(object.unit); + if (object.isPrecise != null) + message.isPrecise = Boolean(object.isPrecise); + if (object.allowsAdminOverrides != null) + message.allowsAdminOverrides = Boolean(object.allowsAdminOverrides); + if (object.quotaBuckets) { + if (!Array.isArray(object.quotaBuckets)) + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaLimit.quotaBuckets: array expected"); + message.quotaBuckets = []; + for (var i = 0; i < object.quotaBuckets.length; ++i) { + if (typeof object.quotaBuckets[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ConsumerQuotaLimit.quotaBuckets: object expected"); + message.quotaBuckets[i] = $root.google.api.serviceusage.v1beta1.QuotaBucket.fromObject(object.quotaBuckets[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a ConsumerQuotaLimit message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} message ConsumerQuotaLimit + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConsumerQuotaLimit.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.quotaBuckets = []; + if (options.defaults) { + object.name = ""; + object.unit = ""; + object.isPrecise = false; + object.allowsAdminOverrides = false; + object.metric = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + if (message.isPrecise != null && message.hasOwnProperty("isPrecise")) + object.isPrecise = message.isPrecise; + if (message.allowsAdminOverrides != null && message.hasOwnProperty("allowsAdminOverrides")) + object.allowsAdminOverrides = message.allowsAdminOverrides; + if (message.metric != null && message.hasOwnProperty("metric")) + object.metric = message.metric; + if (message.quotaBuckets && message.quotaBuckets.length) { + object.quotaBuckets = []; + for (var j = 0; j < message.quotaBuckets.length; ++j) + object.quotaBuckets[j] = $root.google.api.serviceusage.v1beta1.QuotaBucket.toObject(message.quotaBuckets[j], options); + } + return object; + }; + + /** + * Converts this ConsumerQuotaLimit to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @instance + * @returns {Object.} JSON object + */ + ConsumerQuotaLimit.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConsumerQuotaLimit + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ConsumerQuotaLimit + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConsumerQuotaLimit.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ConsumerQuotaLimit"; + }; + + return ConsumerQuotaLimit; + })(); + + /** + * QuotaView enum. + * @name google.api.serviceusage.v1beta1.QuotaView + * @enum {number} + * @property {number} QUOTA_VIEW_UNSPECIFIED=0 QUOTA_VIEW_UNSPECIFIED value + * @property {number} BASIC=1 BASIC value + * @property {number} FULL=2 FULL value + */ + v1beta1.QuotaView = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "QUOTA_VIEW_UNSPECIFIED"] = 0; + values[valuesById[1] = "BASIC"] = 1; + values[valuesById[2] = "FULL"] = 2; + return values; + })(); + + v1beta1.QuotaBucket = (function() { + + /** + * Properties of a QuotaBucket. + * @memberof google.api.serviceusage.v1beta1 + * @interface IQuotaBucket + * @property {number|Long|null} [effectiveLimit] QuotaBucket effectiveLimit + * @property {number|Long|null} [defaultLimit] QuotaBucket defaultLimit + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [producerOverride] QuotaBucket producerOverride + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [consumerOverride] QuotaBucket consumerOverride + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [adminOverride] QuotaBucket adminOverride + * @property {Object.|null} [dimensions] QuotaBucket dimensions + */ + + /** + * Constructs a new QuotaBucket. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a QuotaBucket. + * @implements IQuotaBucket + * @constructor + * @param {google.api.serviceusage.v1beta1.IQuotaBucket=} [properties] Properties to set + */ + function QuotaBucket(properties) { + this.dimensions = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * QuotaBucket effectiveLimit. + * @member {number|Long} effectiveLimit + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.effectiveLimit = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaBucket defaultLimit. + * @member {number|Long} defaultLimit + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.defaultLimit = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaBucket producerOverride. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} producerOverride + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.producerOverride = null; + + /** + * QuotaBucket consumerOverride. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} consumerOverride + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.consumerOverride = null; + + /** + * QuotaBucket adminOverride. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} adminOverride + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.adminOverride = null; + + /** + * QuotaBucket dimensions. + * @member {Object.} dimensions + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + */ + QuotaBucket.prototype.dimensions = $util.emptyObject; + + /** + * Creates a new QuotaBucket instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaBucket=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.QuotaBucket} QuotaBucket instance + */ + QuotaBucket.create = function create(properties) { + return new QuotaBucket(properties); + }; + + /** + * Encodes the specified QuotaBucket message. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaBucket.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaBucket} message QuotaBucket message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaBucket.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.effectiveLimit != null && Object.hasOwnProperty.call(message, "effectiveLimit")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.effectiveLimit); + if (message.defaultLimit != null && Object.hasOwnProperty.call(message, "defaultLimit")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.defaultLimit); + if (message.producerOverride != null && Object.hasOwnProperty.call(message, "producerOverride")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.producerOverride, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.consumerOverride != null && Object.hasOwnProperty.call(message, "consumerOverride")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.consumerOverride, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.adminOverride != null && Object.hasOwnProperty.call(message, "adminOverride")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.adminOverride, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.dimensions != null && Object.hasOwnProperty.call(message, "dimensions")) + for (var keys = Object.keys(message.dimensions), i = 0; i < keys.length; ++i) + writer.uint32(/* id 6, wireType 2 =*/50).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.dimensions[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified QuotaBucket message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaBucket.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaBucket} message QuotaBucket message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaBucket.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a QuotaBucket message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.QuotaBucket} QuotaBucket + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaBucket.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.QuotaBucket(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.effectiveLimit = reader.int64(); + break; + } + case 2: { + message.defaultLimit = reader.int64(); + break; + } + case 3: { + message.producerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 4: { + message.consumerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 5: { + message.adminOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 6: { + if (message.dimensions === $util.emptyObject) + message.dimensions = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.dimensions[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a QuotaBucket message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.QuotaBucket} QuotaBucket + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaBucket.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a QuotaBucket message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + QuotaBucket.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.effectiveLimit != null && message.hasOwnProperty("effectiveLimit")) + if (!$util.isInteger(message.effectiveLimit) && !(message.effectiveLimit && $util.isInteger(message.effectiveLimit.low) && $util.isInteger(message.effectiveLimit.high))) + return "effectiveLimit: integer|Long expected"; + if (message.defaultLimit != null && message.hasOwnProperty("defaultLimit")) + if (!$util.isInteger(message.defaultLimit) && !(message.defaultLimit && $util.isInteger(message.defaultLimit.low) && $util.isInteger(message.defaultLimit.high))) + return "defaultLimit: integer|Long expected"; + if (message.producerOverride != null && message.hasOwnProperty("producerOverride")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.producerOverride); + if (error) + return "producerOverride." + error; + } + if (message.consumerOverride != null && message.hasOwnProperty("consumerOverride")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.consumerOverride); + if (error) + return "consumerOverride." + error; + } + if (message.adminOverride != null && message.hasOwnProperty("adminOverride")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.adminOverride); + if (error) + return "adminOverride." + error; + } + if (message.dimensions != null && message.hasOwnProperty("dimensions")) { + if (!$util.isObject(message.dimensions)) + return "dimensions: object expected"; + var key = Object.keys(message.dimensions); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.dimensions[key[i]])) + return "dimensions: string{k:string} expected"; + } + return null; + }; + + /** + * Creates a QuotaBucket message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.QuotaBucket} QuotaBucket + */ + QuotaBucket.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.QuotaBucket) + return object; + var message = new $root.google.api.serviceusage.v1beta1.QuotaBucket(); + if (object.effectiveLimit != null) + if ($util.Long) + (message.effectiveLimit = $util.Long.fromValue(object.effectiveLimit)).unsigned = false; + else if (typeof object.effectiveLimit === "string") + message.effectiveLimit = parseInt(object.effectiveLimit, 10); + else if (typeof object.effectiveLimit === "number") + message.effectiveLimit = object.effectiveLimit; + else if (typeof object.effectiveLimit === "object") + message.effectiveLimit = new $util.LongBits(object.effectiveLimit.low >>> 0, object.effectiveLimit.high >>> 0).toNumber(); + if (object.defaultLimit != null) + if ($util.Long) + (message.defaultLimit = $util.Long.fromValue(object.defaultLimit)).unsigned = false; + else if (typeof object.defaultLimit === "string") + message.defaultLimit = parseInt(object.defaultLimit, 10); + else if (typeof object.defaultLimit === "number") + message.defaultLimit = object.defaultLimit; + else if (typeof object.defaultLimit === "object") + message.defaultLimit = new $util.LongBits(object.defaultLimit.low >>> 0, object.defaultLimit.high >>> 0).toNumber(); + if (object.producerOverride != null) { + if (typeof object.producerOverride !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.QuotaBucket.producerOverride: object expected"); + message.producerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.producerOverride); + } + if (object.consumerOverride != null) { + if (typeof object.consumerOverride !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.QuotaBucket.consumerOverride: object expected"); + message.consumerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.consumerOverride); + } + if (object.adminOverride != null) { + if (typeof object.adminOverride !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.QuotaBucket.adminOverride: object expected"); + message.adminOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.adminOverride); + } + if (object.dimensions) { + if (typeof object.dimensions !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.QuotaBucket.dimensions: object expected"); + message.dimensions = {}; + for (var keys = Object.keys(object.dimensions), i = 0; i < keys.length; ++i) + message.dimensions[keys[i]] = String(object.dimensions[keys[i]]); + } + return message; + }; + + /** + * Creates a plain object from a QuotaBucket message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {google.api.serviceusage.v1beta1.QuotaBucket} message QuotaBucket + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + QuotaBucket.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.dimensions = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.effectiveLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.effectiveLimit = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.defaultLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.defaultLimit = options.longs === String ? "0" : 0; + object.producerOverride = null; + object.consumerOverride = null; + object.adminOverride = null; + } + if (message.effectiveLimit != null && message.hasOwnProperty("effectiveLimit")) + if (typeof message.effectiveLimit === "number") + object.effectiveLimit = options.longs === String ? String(message.effectiveLimit) : message.effectiveLimit; + else + object.effectiveLimit = options.longs === String ? $util.Long.prototype.toString.call(message.effectiveLimit) : options.longs === Number ? new $util.LongBits(message.effectiveLimit.low >>> 0, message.effectiveLimit.high >>> 0).toNumber() : message.effectiveLimit; + if (message.defaultLimit != null && message.hasOwnProperty("defaultLimit")) + if (typeof message.defaultLimit === "number") + object.defaultLimit = options.longs === String ? String(message.defaultLimit) : message.defaultLimit; + else + object.defaultLimit = options.longs === String ? $util.Long.prototype.toString.call(message.defaultLimit) : options.longs === Number ? new $util.LongBits(message.defaultLimit.low >>> 0, message.defaultLimit.high >>> 0).toNumber() : message.defaultLimit; + if (message.producerOverride != null && message.hasOwnProperty("producerOverride")) + object.producerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.producerOverride, options); + if (message.consumerOverride != null && message.hasOwnProperty("consumerOverride")) + object.consumerOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.consumerOverride, options); + if (message.adminOverride != null && message.hasOwnProperty("adminOverride")) + object.adminOverride = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.adminOverride, options); + var keys2; + if (message.dimensions && (keys2 = Object.keys(message.dimensions)).length) { + object.dimensions = {}; + for (var j = 0; j < keys2.length; ++j) + object.dimensions[keys2[j]] = message.dimensions[keys2[j]]; + } + return object; + }; + + /** + * Converts this QuotaBucket to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @instance + * @returns {Object.} JSON object + */ + QuotaBucket.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for QuotaBucket + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.QuotaBucket + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + QuotaBucket.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.QuotaBucket"; + }; + + return QuotaBucket; + })(); + + v1beta1.QuotaOverride = (function() { + + /** + * Properties of a QuotaOverride. + * @memberof google.api.serviceusage.v1beta1 + * @interface IQuotaOverride + * @property {string|null} [name] QuotaOverride name + * @property {number|Long|null} [overrideValue] QuotaOverride overrideValue + * @property {Object.|null} [dimensions] QuotaOverride dimensions + * @property {string|null} [metric] QuotaOverride metric + * @property {string|null} [unit] QuotaOverride unit + * @property {string|null} [adminOverrideAncestor] QuotaOverride adminOverrideAncestor + */ + + /** + * Constructs a new QuotaOverride. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a QuotaOverride. + * @implements IQuotaOverride + * @constructor + * @param {google.api.serviceusage.v1beta1.IQuotaOverride=} [properties] Properties to set + */ + function QuotaOverride(properties) { + this.dimensions = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * QuotaOverride name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.name = ""; + + /** + * QuotaOverride overrideValue. + * @member {number|Long} overrideValue + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.overrideValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaOverride dimensions. + * @member {Object.} dimensions + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.dimensions = $util.emptyObject; + + /** + * QuotaOverride metric. + * @member {string} metric + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.metric = ""; + + /** + * QuotaOverride unit. + * @member {string} unit + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.unit = ""; + + /** + * QuotaOverride adminOverrideAncestor. + * @member {string} adminOverrideAncestor + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + */ + QuotaOverride.prototype.adminOverrideAncestor = ""; + + /** + * Creates a new QuotaOverride instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaOverride=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.QuotaOverride} QuotaOverride instance + */ + QuotaOverride.create = function create(properties) { + return new QuotaOverride(properties); + }; + + /** + * Encodes the specified QuotaOverride message. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaOverride.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaOverride} message QuotaOverride message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaOverride.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.overrideValue != null && Object.hasOwnProperty.call(message, "overrideValue")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.overrideValue); + if (message.dimensions != null && Object.hasOwnProperty.call(message, "dimensions")) + for (var keys = Object.keys(message.dimensions), i = 0; i < keys.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.dimensions[keys[i]]).ldelim(); + if (message.metric != null && Object.hasOwnProperty.call(message, "metric")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.metric); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.unit); + if (message.adminOverrideAncestor != null && Object.hasOwnProperty.call(message, "adminOverrideAncestor")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.adminOverrideAncestor); + return writer; + }; + + /** + * Encodes the specified QuotaOverride message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.QuotaOverride.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {google.api.serviceusage.v1beta1.IQuotaOverride} message QuotaOverride message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaOverride.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a QuotaOverride message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.QuotaOverride} QuotaOverride + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaOverride.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.QuotaOverride(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.overrideValue = reader.int64(); + break; + } + case 3: { + if (message.dimensions === $util.emptyObject) + message.dimensions = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.dimensions[key] = value; + break; + } + case 4: { + message.metric = reader.string(); + break; + } + case 5: { + message.unit = reader.string(); + break; + } + case 6: { + message.adminOverrideAncestor = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a QuotaOverride message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.QuotaOverride} QuotaOverride + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaOverride.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a QuotaOverride message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + QuotaOverride.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.overrideValue != null && message.hasOwnProperty("overrideValue")) + if (!$util.isInteger(message.overrideValue) && !(message.overrideValue && $util.isInteger(message.overrideValue.low) && $util.isInteger(message.overrideValue.high))) + return "overrideValue: integer|Long expected"; + if (message.dimensions != null && message.hasOwnProperty("dimensions")) { + if (!$util.isObject(message.dimensions)) + return "dimensions: object expected"; + var key = Object.keys(message.dimensions); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.dimensions[key[i]])) + return "dimensions: string{k:string} expected"; + } + if (message.metric != null && message.hasOwnProperty("metric")) + if (!$util.isString(message.metric)) + return "metric: string expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + if (message.adminOverrideAncestor != null && message.hasOwnProperty("adminOverrideAncestor")) + if (!$util.isString(message.adminOverrideAncestor)) + return "adminOverrideAncestor: string expected"; + return null; + }; + + /** + * Creates a QuotaOverride message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.QuotaOverride} QuotaOverride + */ + QuotaOverride.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.QuotaOverride) + return object; + var message = new $root.google.api.serviceusage.v1beta1.QuotaOverride(); + if (object.name != null) + message.name = String(object.name); + if (object.overrideValue != null) + if ($util.Long) + (message.overrideValue = $util.Long.fromValue(object.overrideValue)).unsigned = false; + else if (typeof object.overrideValue === "string") + message.overrideValue = parseInt(object.overrideValue, 10); + else if (typeof object.overrideValue === "number") + message.overrideValue = object.overrideValue; + else if (typeof object.overrideValue === "object") + message.overrideValue = new $util.LongBits(object.overrideValue.low >>> 0, object.overrideValue.high >>> 0).toNumber(); + if (object.dimensions) { + if (typeof object.dimensions !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.QuotaOverride.dimensions: object expected"); + message.dimensions = {}; + for (var keys = Object.keys(object.dimensions), i = 0; i < keys.length; ++i) + message.dimensions[keys[i]] = String(object.dimensions[keys[i]]); + } + if (object.metric != null) + message.metric = String(object.metric); + if (object.unit != null) + message.unit = String(object.unit); + if (object.adminOverrideAncestor != null) + message.adminOverrideAncestor = String(object.adminOverrideAncestor); + return message; + }; + + /** + * Creates a plain object from a QuotaOverride message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {google.api.serviceusage.v1beta1.QuotaOverride} message QuotaOverride + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + QuotaOverride.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.dimensions = {}; + if (options.defaults) { + object.name = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.overrideValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.overrideValue = options.longs === String ? "0" : 0; + object.metric = ""; + object.unit = ""; + object.adminOverrideAncestor = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.overrideValue != null && message.hasOwnProperty("overrideValue")) + if (typeof message.overrideValue === "number") + object.overrideValue = options.longs === String ? String(message.overrideValue) : message.overrideValue; + else + object.overrideValue = options.longs === String ? $util.Long.prototype.toString.call(message.overrideValue) : options.longs === Number ? new $util.LongBits(message.overrideValue.low >>> 0, message.overrideValue.high >>> 0).toNumber() : message.overrideValue; + var keys2; + if (message.dimensions && (keys2 = Object.keys(message.dimensions)).length) { + object.dimensions = {}; + for (var j = 0; j < keys2.length; ++j) + object.dimensions[keys2[j]] = message.dimensions[keys2[j]]; + } + if (message.metric != null && message.hasOwnProperty("metric")) + object.metric = message.metric; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + if (message.adminOverrideAncestor != null && message.hasOwnProperty("adminOverrideAncestor")) + object.adminOverrideAncestor = message.adminOverrideAncestor; + return object; + }; + + /** + * Converts this QuotaOverride to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @instance + * @returns {Object.} JSON object + */ + QuotaOverride.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for QuotaOverride + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.QuotaOverride + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + QuotaOverride.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.QuotaOverride"; + }; + + return QuotaOverride; + })(); + + v1beta1.OverrideInlineSource = (function() { + + /** + * Properties of an OverrideInlineSource. + * @memberof google.api.serviceusage.v1beta1 + * @interface IOverrideInlineSource + * @property {Array.|null} [overrides] OverrideInlineSource overrides + */ + + /** + * Constructs a new OverrideInlineSource. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an OverrideInlineSource. + * @implements IOverrideInlineSource + * @constructor + * @param {google.api.serviceusage.v1beta1.IOverrideInlineSource=} [properties] Properties to set + */ + function OverrideInlineSource(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OverrideInlineSource overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @instance + */ + OverrideInlineSource.prototype.overrides = $util.emptyArray; + + /** + * Creates a new OverrideInlineSource instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {google.api.serviceusage.v1beta1.IOverrideInlineSource=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.OverrideInlineSource} OverrideInlineSource instance + */ + OverrideInlineSource.create = function create(properties) { + return new OverrideInlineSource(properties); + }; + + /** + * Encodes the specified OverrideInlineSource message. Does not implicitly {@link google.api.serviceusage.v1beta1.OverrideInlineSource.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {google.api.serviceusage.v1beta1.IOverrideInlineSource} message OverrideInlineSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OverrideInlineSource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified OverrideInlineSource message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.OverrideInlineSource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {google.api.serviceusage.v1beta1.IOverrideInlineSource} message OverrideInlineSource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OverrideInlineSource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OverrideInlineSource message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.OverrideInlineSource} OverrideInlineSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OverrideInlineSource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.OverrideInlineSource(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OverrideInlineSource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.OverrideInlineSource} OverrideInlineSource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OverrideInlineSource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OverrideInlineSource message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OverrideInlineSource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + return null; + }; + + /** + * Creates an OverrideInlineSource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.OverrideInlineSource} OverrideInlineSource + */ + OverrideInlineSource.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.OverrideInlineSource) + return object; + var message = new $root.google.api.serviceusage.v1beta1.OverrideInlineSource(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.OverrideInlineSource.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.OverrideInlineSource.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an OverrideInlineSource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {google.api.serviceusage.v1beta1.OverrideInlineSource} message OverrideInlineSource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OverrideInlineSource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + return object; + }; + + /** + * Converts this OverrideInlineSource to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @instance + * @returns {Object.} JSON object + */ + OverrideInlineSource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OverrideInlineSource + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.OverrideInlineSource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OverrideInlineSource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.OverrideInlineSource"; + }; + + return OverrideInlineSource; + })(); + + /** + * QuotaSafetyCheck enum. + * @name google.api.serviceusage.v1beta1.QuotaSafetyCheck + * @enum {number} + * @property {number} QUOTA_SAFETY_CHECK_UNSPECIFIED=0 QUOTA_SAFETY_CHECK_UNSPECIFIED value + * @property {number} LIMIT_DECREASE_BELOW_USAGE=1 LIMIT_DECREASE_BELOW_USAGE value + * @property {number} LIMIT_DECREASE_PERCENTAGE_TOO_HIGH=2 LIMIT_DECREASE_PERCENTAGE_TOO_HIGH value + */ + v1beta1.QuotaSafetyCheck = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "QUOTA_SAFETY_CHECK_UNSPECIFIED"] = 0; + values[valuesById[1] = "LIMIT_DECREASE_BELOW_USAGE"] = 1; + values[valuesById[2] = "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH"] = 2; + return values; + })(); + + v1beta1.AdminQuotaPolicy = (function() { + + /** + * Properties of an AdminQuotaPolicy. + * @memberof google.api.serviceusage.v1beta1 + * @interface IAdminQuotaPolicy + * @property {string|null} [name] AdminQuotaPolicy name + * @property {number|Long|null} [policyValue] AdminQuotaPolicy policyValue + * @property {Object.|null} [dimensions] AdminQuotaPolicy dimensions + * @property {string|null} [metric] AdminQuotaPolicy metric + * @property {string|null} [unit] AdminQuotaPolicy unit + * @property {string|null} [container] AdminQuotaPolicy container + */ + + /** + * Constructs a new AdminQuotaPolicy. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an AdminQuotaPolicy. + * @implements IAdminQuotaPolicy + * @constructor + * @param {google.api.serviceusage.v1beta1.IAdminQuotaPolicy=} [properties] Properties to set + */ + function AdminQuotaPolicy(properties) { + this.dimensions = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AdminQuotaPolicy name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.name = ""; + + /** + * AdminQuotaPolicy policyValue. + * @member {number|Long} policyValue + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.policyValue = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * AdminQuotaPolicy dimensions. + * @member {Object.} dimensions + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.dimensions = $util.emptyObject; + + /** + * AdminQuotaPolicy metric. + * @member {string} metric + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.metric = ""; + + /** + * AdminQuotaPolicy unit. + * @member {string} unit + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.unit = ""; + + /** + * AdminQuotaPolicy container. + * @member {string} container + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + */ + AdminQuotaPolicy.prototype.container = ""; + + /** + * Creates a new AdminQuotaPolicy instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {google.api.serviceusage.v1beta1.IAdminQuotaPolicy=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.AdminQuotaPolicy} AdminQuotaPolicy instance + */ + AdminQuotaPolicy.create = function create(properties) { + return new AdminQuotaPolicy(properties); + }; + + /** + * Encodes the specified AdminQuotaPolicy message. Does not implicitly {@link google.api.serviceusage.v1beta1.AdminQuotaPolicy.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {google.api.serviceusage.v1beta1.IAdminQuotaPolicy} message AdminQuotaPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdminQuotaPolicy.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.policyValue != null && Object.hasOwnProperty.call(message, "policyValue")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.policyValue); + if (message.dimensions != null && Object.hasOwnProperty.call(message, "dimensions")) + for (var keys = Object.keys(message.dimensions), i = 0; i < keys.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.dimensions[keys[i]]).ldelim(); + if (message.metric != null && Object.hasOwnProperty.call(message, "metric")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.metric); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.unit); + if (message.container != null && Object.hasOwnProperty.call(message, "container")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.container); + return writer; + }; + + /** + * Encodes the specified AdminQuotaPolicy message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.AdminQuotaPolicy.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {google.api.serviceusage.v1beta1.IAdminQuotaPolicy} message AdminQuotaPolicy message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AdminQuotaPolicy.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AdminQuotaPolicy message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.AdminQuotaPolicy} AdminQuotaPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdminQuotaPolicy.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.policyValue = reader.int64(); + break; + } + case 3: { + if (message.dimensions === $util.emptyObject) + message.dimensions = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.dimensions[key] = value; + break; + } + case 4: { + message.metric = reader.string(); + break; + } + case 5: { + message.unit = reader.string(); + break; + } + case 6: { + message.container = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AdminQuotaPolicy message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.AdminQuotaPolicy} AdminQuotaPolicy + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AdminQuotaPolicy.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AdminQuotaPolicy message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AdminQuotaPolicy.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.policyValue != null && message.hasOwnProperty("policyValue")) + if (!$util.isInteger(message.policyValue) && !(message.policyValue && $util.isInteger(message.policyValue.low) && $util.isInteger(message.policyValue.high))) + return "policyValue: integer|Long expected"; + if (message.dimensions != null && message.hasOwnProperty("dimensions")) { + if (!$util.isObject(message.dimensions)) + return "dimensions: object expected"; + var key = Object.keys(message.dimensions); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.dimensions[key[i]])) + return "dimensions: string{k:string} expected"; + } + if (message.metric != null && message.hasOwnProperty("metric")) + if (!$util.isString(message.metric)) + return "metric: string expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + if (message.container != null && message.hasOwnProperty("container")) + if (!$util.isString(message.container)) + return "container: string expected"; + return null; + }; + + /** + * Creates an AdminQuotaPolicy message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.AdminQuotaPolicy} AdminQuotaPolicy + */ + AdminQuotaPolicy.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy) + return object; + var message = new $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy(); + if (object.name != null) + message.name = String(object.name); + if (object.policyValue != null) + if ($util.Long) + (message.policyValue = $util.Long.fromValue(object.policyValue)).unsigned = false; + else if (typeof object.policyValue === "string") + message.policyValue = parseInt(object.policyValue, 10); + else if (typeof object.policyValue === "number") + message.policyValue = object.policyValue; + else if (typeof object.policyValue === "object") + message.policyValue = new $util.LongBits(object.policyValue.low >>> 0, object.policyValue.high >>> 0).toNumber(); + if (object.dimensions) { + if (typeof object.dimensions !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.AdminQuotaPolicy.dimensions: object expected"); + message.dimensions = {}; + for (var keys = Object.keys(object.dimensions), i = 0; i < keys.length; ++i) + message.dimensions[keys[i]] = String(object.dimensions[keys[i]]); + } + if (object.metric != null) + message.metric = String(object.metric); + if (object.unit != null) + message.unit = String(object.unit); + if (object.container != null) + message.container = String(object.container); + return message; + }; + + /** + * Creates a plain object from an AdminQuotaPolicy message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {google.api.serviceusage.v1beta1.AdminQuotaPolicy} message AdminQuotaPolicy + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AdminQuotaPolicy.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.dimensions = {}; + if (options.defaults) { + object.name = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.policyValue = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.policyValue = options.longs === String ? "0" : 0; + object.metric = ""; + object.unit = ""; + object.container = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.policyValue != null && message.hasOwnProperty("policyValue")) + if (typeof message.policyValue === "number") + object.policyValue = options.longs === String ? String(message.policyValue) : message.policyValue; + else + object.policyValue = options.longs === String ? $util.Long.prototype.toString.call(message.policyValue) : options.longs === Number ? new $util.LongBits(message.policyValue.low >>> 0, message.policyValue.high >>> 0).toNumber() : message.policyValue; + var keys2; + if (message.dimensions && (keys2 = Object.keys(message.dimensions)).length) { + object.dimensions = {}; + for (var j = 0; j < keys2.length; ++j) + object.dimensions[keys2[j]] = message.dimensions[keys2[j]]; + } + if (message.metric != null && message.hasOwnProperty("metric")) + object.metric = message.metric; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + if (message.container != null && message.hasOwnProperty("container")) + object.container = message.container; + return object; + }; + + /** + * Converts this AdminQuotaPolicy to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @instance + * @returns {Object.} JSON object + */ + AdminQuotaPolicy.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AdminQuotaPolicy + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.AdminQuotaPolicy + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AdminQuotaPolicy.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.AdminQuotaPolicy"; + }; + + return AdminQuotaPolicy; + })(); + + v1beta1.ServiceIdentity = (function() { + + /** + * Properties of a ServiceIdentity. + * @memberof google.api.serviceusage.v1beta1 + * @interface IServiceIdentity + * @property {string|null} [email] ServiceIdentity email + * @property {string|null} [uniqueId] ServiceIdentity uniqueId + */ + + /** + * Constructs a new ServiceIdentity. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ServiceIdentity. + * @implements IServiceIdentity + * @constructor + * @param {google.api.serviceusage.v1beta1.IServiceIdentity=} [properties] Properties to set + */ + function ServiceIdentity(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ServiceIdentity email. + * @member {string} email + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @instance + */ + ServiceIdentity.prototype.email = ""; + + /** + * ServiceIdentity uniqueId. + * @member {string} uniqueId + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @instance + */ + ServiceIdentity.prototype.uniqueId = ""; + + /** + * Creates a new ServiceIdentity instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {google.api.serviceusage.v1beta1.IServiceIdentity=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ServiceIdentity} ServiceIdentity instance + */ + ServiceIdentity.create = function create(properties) { + return new ServiceIdentity(properties); + }; + + /** + * Encodes the specified ServiceIdentity message. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceIdentity.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {google.api.serviceusage.v1beta1.IServiceIdentity} message ServiceIdentity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceIdentity.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.email != null && Object.hasOwnProperty.call(message, "email")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.email); + if (message.uniqueId != null && Object.hasOwnProperty.call(message, "uniqueId")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.uniqueId); + return writer; + }; + + /** + * Encodes the specified ServiceIdentity message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ServiceIdentity.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {google.api.serviceusage.v1beta1.IServiceIdentity} message ServiceIdentity message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ServiceIdentity.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ServiceIdentity message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ServiceIdentity} ServiceIdentity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceIdentity.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ServiceIdentity(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.email = reader.string(); + break; + } + case 2: { + message.uniqueId = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ServiceIdentity message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ServiceIdentity} ServiceIdentity + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ServiceIdentity.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ServiceIdentity message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ServiceIdentity.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.email != null && message.hasOwnProperty("email")) + if (!$util.isString(message.email)) + return "email: string expected"; + if (message.uniqueId != null && message.hasOwnProperty("uniqueId")) + if (!$util.isString(message.uniqueId)) + return "uniqueId: string expected"; + return null; + }; + + /** + * Creates a ServiceIdentity message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ServiceIdentity} ServiceIdentity + */ + ServiceIdentity.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ServiceIdentity) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ServiceIdentity(); + if (object.email != null) + message.email = String(object.email); + if (object.uniqueId != null) + message.uniqueId = String(object.uniqueId); + return message; + }; + + /** + * Creates a plain object from a ServiceIdentity message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {google.api.serviceusage.v1beta1.ServiceIdentity} message ServiceIdentity + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ServiceIdentity.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.email = ""; + object.uniqueId = ""; + } + if (message.email != null && message.hasOwnProperty("email")) + object.email = message.email; + if (message.uniqueId != null && message.hasOwnProperty("uniqueId")) + object.uniqueId = message.uniqueId; + return object; + }; + + /** + * Converts this ServiceIdentity to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @instance + * @returns {Object.} JSON object + */ + ServiceIdentity.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ServiceIdentity + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ServiceIdentity + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ServiceIdentity.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ServiceIdentity"; + }; + + return ServiceIdentity; + })(); + + v1beta1.ServiceUsage = (function() { + + /** + * Constructs a new ServiceUsage service. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ServiceUsage + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function ServiceUsage(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (ServiceUsage.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = ServiceUsage; + + /** + * Creates new ServiceUsage service using the specified rpc implementation. + * @function create + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {ServiceUsage} RPC service. Useful where requests and/or responses are streamed. + */ + ServiceUsage.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|enableService}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef EnableServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls EnableService. + * @function enableService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest} request EnableServiceRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.EnableServiceCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.enableService = function enableService(request, callback) { + return this.rpcCall(enableService, $root.google.api.serviceusage.v1beta1.EnableServiceRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "EnableService" }); + + /** + * Calls EnableService. + * @function enableService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest} request EnableServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|disableService}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef DisableServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DisableService. + * @function disableService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest} request DisableServiceRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.DisableServiceCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.disableService = function disableService(request, callback) { + return this.rpcCall(disableService, $root.google.api.serviceusage.v1beta1.DisableServiceRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DisableService" }); + + /** + * Calls DisableService. + * @function disableService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest} request DisableServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getService}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef GetServiceCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.Service} [response] Service + */ + + /** + * Calls GetService. + * @function getService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest} request GetServiceRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.GetServiceCallback} callback Node-style callback called with the error, if any, and Service + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.getService = function getService(request, callback) { + return this.rpcCall(getService, $root.google.api.serviceusage.v1beta1.GetServiceRequest, $root.google.api.serviceusage.v1beta1.Service, request, callback); + }, "name", { value: "GetService" }); + + /** + * Calls GetService. + * @function getService + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest} request GetServiceRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listServices}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ListServicesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ListServicesResponse} [response] ListServicesResponse + */ + + /** + * Calls ListServices. + * @function listServices + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListServicesRequest} request ListServicesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ListServicesCallback} callback Node-style callback called with the error, if any, and ListServicesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.listServices = function listServices(request, callback) { + return this.rpcCall(listServices, $root.google.api.serviceusage.v1beta1.ListServicesRequest, $root.google.api.serviceusage.v1beta1.ListServicesResponse, request, callback); + }, "name", { value: "ListServices" }); + + /** + * Calls ListServices. + * @function listServices + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListServicesRequest} request ListServicesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|batchEnableServices}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef BatchEnableServicesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls BatchEnableServices. + * @function batchEnableServices + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest} request BatchEnableServicesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.BatchEnableServicesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.batchEnableServices = function batchEnableServices(request, callback) { + return this.rpcCall(batchEnableServices, $root.google.api.serviceusage.v1beta1.BatchEnableServicesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "BatchEnableServices" }); + + /** + * Calls BatchEnableServices. + * @function batchEnableServices + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest} request BatchEnableServicesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listConsumerQuotaMetrics}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ListConsumerQuotaMetricsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} [response] ListConsumerQuotaMetricsResponse + */ + + /** + * Calls ListConsumerQuotaMetrics. + * @function listConsumerQuotaMetrics + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest} request ListConsumerQuotaMetricsRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerQuotaMetricsCallback} callback Node-style callback called with the error, if any, and ListConsumerQuotaMetricsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.listConsumerQuotaMetrics = function listConsumerQuotaMetrics(request, callback) { + return this.rpcCall(listConsumerQuotaMetrics, $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest, $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse, request, callback); + }, "name", { value: "ListConsumerQuotaMetrics" }); + + /** + * Calls ListConsumerQuotaMetrics. + * @function listConsumerQuotaMetrics + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest} request ListConsumerQuotaMetricsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getConsumerQuotaMetric}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef GetConsumerQuotaMetricCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ConsumerQuotaMetric} [response] ConsumerQuotaMetric + */ + + /** + * Calls GetConsumerQuotaMetric. + * @function getConsumerQuotaMetric + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest} request GetConsumerQuotaMetricRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaMetricCallback} callback Node-style callback called with the error, if any, and ConsumerQuotaMetric + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.getConsumerQuotaMetric = function getConsumerQuotaMetric(request, callback) { + return this.rpcCall(getConsumerQuotaMetric, $root.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest, $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric, request, callback); + }, "name", { value: "GetConsumerQuotaMetric" }); + + /** + * Calls GetConsumerQuotaMetric. + * @function getConsumerQuotaMetric + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest} request GetConsumerQuotaMetricRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|getConsumerQuotaLimit}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef GetConsumerQuotaLimitCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ConsumerQuotaLimit} [response] ConsumerQuotaLimit + */ + + /** + * Calls GetConsumerQuotaLimit. + * @function getConsumerQuotaLimit + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest} request GetConsumerQuotaLimitRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaLimitCallback} callback Node-style callback called with the error, if any, and ConsumerQuotaLimit + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.getConsumerQuotaLimit = function getConsumerQuotaLimit(request, callback) { + return this.rpcCall(getConsumerQuotaLimit, $root.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest, $root.google.api.serviceusage.v1beta1.ConsumerQuotaLimit, request, callback); + }, "name", { value: "GetConsumerQuotaLimit" }); + + /** + * Calls GetConsumerQuotaLimit. + * @function getConsumerQuotaLimit + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest} request GetConsumerQuotaLimitRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|createAdminOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef CreateAdminOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls CreateAdminOverride. + * @function createAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest} request CreateAdminOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.CreateAdminOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.createAdminOverride = function createAdminOverride(request, callback) { + return this.rpcCall(createAdminOverride, $root.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "CreateAdminOverride" }); + + /** + * Calls CreateAdminOverride. + * @function createAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest} request CreateAdminOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|updateAdminOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef UpdateAdminOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls UpdateAdminOverride. + * @function updateAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest} request UpdateAdminOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.UpdateAdminOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.updateAdminOverride = function updateAdminOverride(request, callback) { + return this.rpcCall(updateAdminOverride, $root.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "UpdateAdminOverride" }); + + /** + * Calls UpdateAdminOverride. + * @function updateAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest} request UpdateAdminOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|deleteAdminOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef DeleteAdminOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DeleteAdminOverride. + * @function deleteAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest} request DeleteAdminOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.DeleteAdminOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.deleteAdminOverride = function deleteAdminOverride(request, callback) { + return this.rpcCall(deleteAdminOverride, $root.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DeleteAdminOverride" }); + + /** + * Calls DeleteAdminOverride. + * @function deleteAdminOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest} request DeleteAdminOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listAdminOverrides}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ListAdminOverridesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} [response] ListAdminOverridesResponse + */ + + /** + * Calls ListAdminOverrides. + * @function listAdminOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest} request ListAdminOverridesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ListAdminOverridesCallback} callback Node-style callback called with the error, if any, and ListAdminOverridesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.listAdminOverrides = function listAdminOverrides(request, callback) { + return this.rpcCall(listAdminOverrides, $root.google.api.serviceusage.v1beta1.ListAdminOverridesRequest, $root.google.api.serviceusage.v1beta1.ListAdminOverridesResponse, request, callback); + }, "name", { value: "ListAdminOverrides" }); + + /** + * Calls ListAdminOverrides. + * @function listAdminOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest} request ListAdminOverridesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|importAdminOverrides}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ImportAdminOverridesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ImportAdminOverrides. + * @function importAdminOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest} request ImportAdminOverridesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ImportAdminOverridesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.importAdminOverrides = function importAdminOverrides(request, callback) { + return this.rpcCall(importAdminOverrides, $root.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportAdminOverrides" }); + + /** + * Calls ImportAdminOverrides. + * @function importAdminOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest} request ImportAdminOverridesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|createConsumerOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef CreateConsumerOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls CreateConsumerOverride. + * @function createConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest} request CreateConsumerOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.CreateConsumerOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.createConsumerOverride = function createConsumerOverride(request, callback) { + return this.rpcCall(createConsumerOverride, $root.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "CreateConsumerOverride" }); + + /** + * Calls CreateConsumerOverride. + * @function createConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest} request CreateConsumerOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|updateConsumerOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef UpdateConsumerOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls UpdateConsumerOverride. + * @function updateConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest} request UpdateConsumerOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.UpdateConsumerOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.updateConsumerOverride = function updateConsumerOverride(request, callback) { + return this.rpcCall(updateConsumerOverride, $root.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "UpdateConsumerOverride" }); + + /** + * Calls UpdateConsumerOverride. + * @function updateConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest} request UpdateConsumerOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|deleteConsumerOverride}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef DeleteConsumerOverrideCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DeleteConsumerOverride. + * @function deleteConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest} request DeleteConsumerOverrideRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.DeleteConsumerOverrideCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.deleteConsumerOverride = function deleteConsumerOverride(request, callback) { + return this.rpcCall(deleteConsumerOverride, $root.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DeleteConsumerOverride" }); + + /** + * Calls DeleteConsumerOverride. + * @function deleteConsumerOverride + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest} request DeleteConsumerOverrideRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|listConsumerOverrides}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ListConsumerOverridesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} [response] ListConsumerOverridesResponse + */ + + /** + * Calls ListConsumerOverrides. + * @function listConsumerOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest} request ListConsumerOverridesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerOverridesCallback} callback Node-style callback called with the error, if any, and ListConsumerOverridesResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.listConsumerOverrides = function listConsumerOverrides(request, callback) { + return this.rpcCall(listConsumerOverrides, $root.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest, $root.google.api.serviceusage.v1beta1.ListConsumerOverridesResponse, request, callback); + }, "name", { value: "ListConsumerOverrides" }); + + /** + * Calls ListConsumerOverrides. + * @function listConsumerOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest} request ListConsumerOverridesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|importConsumerOverrides}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef ImportConsumerOverridesCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ImportConsumerOverrides. + * @function importConsumerOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest} request ImportConsumerOverridesRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.ImportConsumerOverridesCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.importConsumerOverrides = function importConsumerOverrides(request, callback) { + return this.rpcCall(importConsumerOverrides, $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ImportConsumerOverrides" }); + + /** + * Calls ImportConsumerOverrides. + * @function importConsumerOverrides + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest} request ImportConsumerOverridesRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.api.serviceusage.v1beta1.ServiceUsage|generateServiceIdentity}. + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @typedef GenerateServiceIdentityCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls GenerateServiceIdentity. + * @function generateServiceIdentity + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest} request GenerateServiceIdentityRequest message or plain object + * @param {google.api.serviceusage.v1beta1.ServiceUsage.GenerateServiceIdentityCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(ServiceUsage.prototype.generateServiceIdentity = function generateServiceIdentity(request, callback) { + return this.rpcCall(generateServiceIdentity, $root.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "GenerateServiceIdentity" }); + + /** + * Calls GenerateServiceIdentity. + * @function generateServiceIdentity + * @memberof google.api.serviceusage.v1beta1.ServiceUsage + * @instance + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest} request GenerateServiceIdentityRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return ServiceUsage; + })(); + + v1beta1.EnableServiceRequest = (function() { + + /** + * Properties of an EnableServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IEnableServiceRequest + * @property {string|null} [name] EnableServiceRequest name + */ + + /** + * Constructs a new EnableServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an EnableServiceRequest. + * @implements IEnableServiceRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest=} [properties] Properties to set + */ + function EnableServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * EnableServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @instance + */ + EnableServiceRequest.prototype.name = ""; + + /** + * Creates a new EnableServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.EnableServiceRequest} EnableServiceRequest instance + */ + EnableServiceRequest.create = function create(properties) { + return new EnableServiceRequest(properties); + }; + + /** + * Encodes the specified EnableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.EnableServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest} message EnableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified EnableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.EnableServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IEnableServiceRequest} message EnableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + EnableServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.EnableServiceRequest} EnableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.EnableServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an EnableServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.EnableServiceRequest} EnableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + EnableServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an EnableServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + EnableServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates an EnableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.EnableServiceRequest} EnableServiceRequest + */ + EnableServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.EnableServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.EnableServiceRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from an EnableServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.EnableServiceRequest} message EnableServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + EnableServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this EnableServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @instance + * @returns {Object.} JSON object + */ + EnableServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for EnableServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.EnableServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + EnableServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.EnableServiceRequest"; + }; + + return EnableServiceRequest; + })(); + + v1beta1.DisableServiceRequest = (function() { + + /** + * Properties of a DisableServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IDisableServiceRequest + * @property {string|null} [name] DisableServiceRequest name + */ + + /** + * Constructs a new DisableServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a DisableServiceRequest. + * @implements IDisableServiceRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest=} [properties] Properties to set + */ + function DisableServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DisableServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @instance + */ + DisableServiceRequest.prototype.name = ""; + + /** + * Creates a new DisableServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.DisableServiceRequest} DisableServiceRequest instance + */ + DisableServiceRequest.create = function create(properties) { + return new DisableServiceRequest(properties); + }; + + /** + * Encodes the specified DisableServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DisableServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest} message DisableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DisableServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DisableServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDisableServiceRequest} message DisableServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DisableServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.DisableServiceRequest} DisableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.DisableServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DisableServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.DisableServiceRequest} DisableServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DisableServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DisableServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DisableServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a DisableServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.DisableServiceRequest} DisableServiceRequest + */ + DisableServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.DisableServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.DisableServiceRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DisableServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.DisableServiceRequest} message DisableServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DisableServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this DisableServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @instance + * @returns {Object.} JSON object + */ + DisableServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DisableServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.DisableServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DisableServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.DisableServiceRequest"; + }; + + return DisableServiceRequest; + })(); + + v1beta1.GetServiceRequest = (function() { + + /** + * Properties of a GetServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGetServiceRequest + * @property {string|null} [name] GetServiceRequest name + */ + + /** + * Constructs a new GetServiceRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GetServiceRequest. + * @implements IGetServiceRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest=} [properties] Properties to set + */ + function GetServiceRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetServiceRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @instance + */ + GetServiceRequest.prototype.name = ""; + + /** + * Creates a new GetServiceRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GetServiceRequest} GetServiceRequest instance + */ + GetServiceRequest.create = function create(properties) { + return new GetServiceRequest(properties); + }; + + /** + * Encodes the specified GetServiceRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest} message GetServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetServiceRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceRequest} message GetServiceRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GetServiceRequest} GetServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GetServiceRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetServiceRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GetServiceRequest} GetServiceRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetServiceRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetServiceRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetServiceRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GetServiceRequest} GetServiceRequest + */ + GetServiceRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GetServiceRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.GetServiceRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetServiceRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {google.api.serviceusage.v1beta1.GetServiceRequest} message GetServiceRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetServiceRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetServiceRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @instance + * @returns {Object.} JSON object + */ + GetServiceRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetServiceRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GetServiceRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetServiceRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GetServiceRequest"; + }; + + return GetServiceRequest; + })(); + + v1beta1.ListServicesRequest = (function() { + + /** + * Properties of a ListServicesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListServicesRequest + * @property {string|null} [parent] ListServicesRequest parent + * @property {number|null} [pageSize] ListServicesRequest pageSize + * @property {string|null} [pageToken] ListServicesRequest pageToken + * @property {string|null} [filter] ListServicesRequest filter + */ + + /** + * Constructs a new ListServicesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListServicesRequest. + * @implements IListServicesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IListServicesRequest=} [properties] Properties to set + */ + function ListServicesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListServicesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.parent = ""; + + /** + * ListServicesRequest pageSize. + * @member {number} pageSize + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.pageSize = 0; + + /** + * ListServicesRequest pageToken. + * @member {string} pageToken + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.pageToken = ""; + + /** + * ListServicesRequest filter. + * @member {string} filter + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @instance + */ + ListServicesRequest.prototype.filter = ""; + + /** + * Creates a new ListServicesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListServicesRequest} ListServicesRequest instance + */ + ListServicesRequest.create = function create(properties) { + return new ListServicesRequest(properties); + }; + + /** + * Encodes the specified ListServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesRequest} message ListServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.filter); + return writer; + }; + + /** + * Encodes the specified ListServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesRequest} message ListServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListServicesRequest} ListServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListServicesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + case 4: { + message.filter = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListServicesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListServicesRequest} ListServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListServicesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListServicesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + return null; + }; + + /** + * Creates a ListServicesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListServicesRequest} ListServicesRequest + */ + ListServicesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListServicesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListServicesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + if (object.filter != null) + message.filter = String(object.filter); + return message; + }; + + /** + * Creates a plain object from a ListServicesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.ListServicesRequest} message ListServicesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListServicesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + object.filter = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + return object; + }; + + /** + * Converts this ListServicesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @instance + * @returns {Object.} JSON object + */ + ListServicesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListServicesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListServicesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListServicesRequest"; + }; + + return ListServicesRequest; + })(); + + v1beta1.ListServicesResponse = (function() { + + /** + * Properties of a ListServicesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListServicesResponse + * @property {Array.|null} [services] ListServicesResponse services + * @property {string|null} [nextPageToken] ListServicesResponse nextPageToken + */ + + /** + * Constructs a new ListServicesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListServicesResponse. + * @implements IListServicesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IListServicesResponse=} [properties] Properties to set + */ + function ListServicesResponse(properties) { + this.services = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListServicesResponse services. + * @member {Array.} services + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @instance + */ + ListServicesResponse.prototype.services = $util.emptyArray; + + /** + * ListServicesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @instance + */ + ListServicesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListServicesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListServicesResponse} ListServicesResponse instance + */ + ListServicesResponse.create = function create(properties) { + return new ListServicesResponse(properties); + }; + + /** + * Encodes the specified ListServicesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesResponse} message ListServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.services != null && message.services.length) + for (var i = 0; i < message.services.length; ++i) + $root.google.api.serviceusage.v1beta1.Service.encode(message.services[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListServicesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListServicesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListServicesResponse} message ListServicesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListServicesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListServicesResponse} ListServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListServicesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.services && message.services.length)) + message.services = []; + message.services.push($root.google.api.serviceusage.v1beta1.Service.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListServicesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListServicesResponse} ListServicesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListServicesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListServicesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListServicesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.services != null && message.hasOwnProperty("services")) { + if (!Array.isArray(message.services)) + return "services: array expected"; + for (var i = 0; i < message.services.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.Service.verify(message.services[i]); + if (error) + return "services." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListServicesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListServicesResponse} ListServicesResponse + */ + ListServicesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListServicesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListServicesResponse(); + if (object.services) { + if (!Array.isArray(object.services)) + throw TypeError(".google.api.serviceusage.v1beta1.ListServicesResponse.services: array expected"); + message.services = []; + for (var i = 0; i < object.services.length; ++i) { + if (typeof object.services[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ListServicesResponse.services: object expected"); + message.services[i] = $root.google.api.serviceusage.v1beta1.Service.fromObject(object.services[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListServicesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ListServicesResponse} message ListServicesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListServicesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.services = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.services && message.services.length) { + object.services = []; + for (var j = 0; j < message.services.length; ++j) + object.services[j] = $root.google.api.serviceusage.v1beta1.Service.toObject(message.services[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListServicesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @instance + * @returns {Object.} JSON object + */ + ListServicesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListServicesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListServicesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListServicesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListServicesResponse"; + }; + + return ListServicesResponse; + })(); + + v1beta1.BatchEnableServicesRequest = (function() { + + /** + * Properties of a BatchEnableServicesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IBatchEnableServicesRequest + * @property {string|null} [parent] BatchEnableServicesRequest parent + * @property {Array.|null} [serviceIds] BatchEnableServicesRequest serviceIds + */ + + /** + * Constructs a new BatchEnableServicesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a BatchEnableServicesRequest. + * @implements IBatchEnableServicesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest=} [properties] Properties to set + */ + function BatchEnableServicesRequest(properties) { + this.serviceIds = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchEnableServicesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @instance + */ + BatchEnableServicesRequest.prototype.parent = ""; + + /** + * BatchEnableServicesRequest serviceIds. + * @member {Array.} serviceIds + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @instance + */ + BatchEnableServicesRequest.prototype.serviceIds = $util.emptyArray; + + /** + * Creates a new BatchEnableServicesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.BatchEnableServicesRequest} BatchEnableServicesRequest instance + */ + BatchEnableServicesRequest.create = function create(properties) { + return new BatchEnableServicesRequest(properties); + }; + + /** + * Encodes the specified BatchEnableServicesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchEnableServicesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest} message BatchEnableServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.serviceIds != null && message.serviceIds.length) + for (var i = 0; i < message.serviceIds.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.serviceIds[i]); + return writer; + }; + + /** + * Encodes the specified BatchEnableServicesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchEnableServicesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IBatchEnableServicesRequest} message BatchEnableServicesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchEnableServicesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.BatchEnableServicesRequest} BatchEnableServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.BatchEnableServicesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + if (!(message.serviceIds && message.serviceIds.length)) + message.serviceIds = []; + message.serviceIds.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchEnableServicesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.BatchEnableServicesRequest} BatchEnableServicesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchEnableServicesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchEnableServicesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchEnableServicesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.serviceIds != null && message.hasOwnProperty("serviceIds")) { + if (!Array.isArray(message.serviceIds)) + return "serviceIds: array expected"; + for (var i = 0; i < message.serviceIds.length; ++i) + if (!$util.isString(message.serviceIds[i])) + return "serviceIds: string[] expected"; + } + return null; + }; + + /** + * Creates a BatchEnableServicesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.BatchEnableServicesRequest} BatchEnableServicesRequest + */ + BatchEnableServicesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.BatchEnableServicesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.BatchEnableServicesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.serviceIds) { + if (!Array.isArray(object.serviceIds)) + throw TypeError(".google.api.serviceusage.v1beta1.BatchEnableServicesRequest.serviceIds: array expected"); + message.serviceIds = []; + for (var i = 0; i < object.serviceIds.length; ++i) + message.serviceIds[i] = String(object.serviceIds[i]); + } + return message; + }; + + /** + * Creates a plain object from a BatchEnableServicesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {google.api.serviceusage.v1beta1.BatchEnableServicesRequest} message BatchEnableServicesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchEnableServicesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.serviceIds = []; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.serviceIds && message.serviceIds.length) { + object.serviceIds = []; + for (var j = 0; j < message.serviceIds.length; ++j) + object.serviceIds[j] = message.serviceIds[j]; + } + return object; + }; + + /** + * Converts this BatchEnableServicesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @instance + * @returns {Object.} JSON object + */ + BatchEnableServicesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchEnableServicesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.BatchEnableServicesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchEnableServicesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.BatchEnableServicesRequest"; + }; + + return BatchEnableServicesRequest; + })(); + + v1beta1.ListConsumerQuotaMetricsRequest = (function() { + + /** + * Properties of a ListConsumerQuotaMetricsRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListConsumerQuotaMetricsRequest + * @property {string|null} [parent] ListConsumerQuotaMetricsRequest parent + * @property {number|null} [pageSize] ListConsumerQuotaMetricsRequest pageSize + * @property {string|null} [pageToken] ListConsumerQuotaMetricsRequest pageToken + * @property {google.api.serviceusage.v1beta1.QuotaView|null} [view] ListConsumerQuotaMetricsRequest view + */ + + /** + * Constructs a new ListConsumerQuotaMetricsRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListConsumerQuotaMetricsRequest. + * @implements IListConsumerQuotaMetricsRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest=} [properties] Properties to set + */ + function ListConsumerQuotaMetricsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListConsumerQuotaMetricsRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @instance + */ + ListConsumerQuotaMetricsRequest.prototype.parent = ""; + + /** + * ListConsumerQuotaMetricsRequest pageSize. + * @member {number} pageSize + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @instance + */ + ListConsumerQuotaMetricsRequest.prototype.pageSize = 0; + + /** + * ListConsumerQuotaMetricsRequest pageToken. + * @member {string} pageToken + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @instance + */ + ListConsumerQuotaMetricsRequest.prototype.pageToken = ""; + + /** + * ListConsumerQuotaMetricsRequest view. + * @member {google.api.serviceusage.v1beta1.QuotaView} view + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @instance + */ + ListConsumerQuotaMetricsRequest.prototype.view = 0; + + /** + * Creates a new ListConsumerQuotaMetricsRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest} ListConsumerQuotaMetricsRequest instance + */ + ListConsumerQuotaMetricsRequest.create = function create(properties) { + return new ListConsumerQuotaMetricsRequest(properties); + }; + + /** + * Encodes the specified ListConsumerQuotaMetricsRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest} message ListConsumerQuotaMetricsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerQuotaMetricsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.view != null && Object.hasOwnProperty.call(message, "view")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.view); + return writer; + }; + + /** + * Encodes the specified ListConsumerQuotaMetricsRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest} message ListConsumerQuotaMetricsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerQuotaMetricsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListConsumerQuotaMetricsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest} ListConsumerQuotaMetricsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerQuotaMetricsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + case 4: { + message.view = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListConsumerQuotaMetricsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest} ListConsumerQuotaMetricsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerQuotaMetricsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListConsumerQuotaMetricsRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListConsumerQuotaMetricsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + if (message.view != null && message.hasOwnProperty("view")) + switch (message.view) { + default: + return "view: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a ListConsumerQuotaMetricsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest} ListConsumerQuotaMetricsRequest + */ + ListConsumerQuotaMetricsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + switch (object.view) { + default: + if (typeof object.view === "number") { + message.view = object.view; + break; + } + break; + case "QUOTA_VIEW_UNSPECIFIED": + case 0: + message.view = 0; + break; + case "BASIC": + case 1: + message.view = 1; + break; + case "FULL": + case 2: + message.view = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a ListConsumerQuotaMetricsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest} message ListConsumerQuotaMetricsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListConsumerQuotaMetricsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + object.view = options.enums === String ? "QUOTA_VIEW_UNSPECIFIED" : 0; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.view != null && message.hasOwnProperty("view")) + object.view = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaView[message.view] === undefined ? message.view : $root.google.api.serviceusage.v1beta1.QuotaView[message.view] : message.view; + return object; + }; + + /** + * Converts this ListConsumerQuotaMetricsRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @instance + * @returns {Object.} JSON object + */ + ListConsumerQuotaMetricsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListConsumerQuotaMetricsRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListConsumerQuotaMetricsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest"; + }; + + return ListConsumerQuotaMetricsRequest; + })(); + + v1beta1.ListConsumerQuotaMetricsResponse = (function() { + + /** + * Properties of a ListConsumerQuotaMetricsResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListConsumerQuotaMetricsResponse + * @property {Array.|null} [metrics] ListConsumerQuotaMetricsResponse metrics + * @property {string|null} [nextPageToken] ListConsumerQuotaMetricsResponse nextPageToken + */ + + /** + * Constructs a new ListConsumerQuotaMetricsResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListConsumerQuotaMetricsResponse. + * @implements IListConsumerQuotaMetricsResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse=} [properties] Properties to set + */ + function ListConsumerQuotaMetricsResponse(properties) { + this.metrics = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListConsumerQuotaMetricsResponse metrics. + * @member {Array.} metrics + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @instance + */ + ListConsumerQuotaMetricsResponse.prototype.metrics = $util.emptyArray; + + /** + * ListConsumerQuotaMetricsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @instance + */ + ListConsumerQuotaMetricsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListConsumerQuotaMetricsResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} ListConsumerQuotaMetricsResponse instance + */ + ListConsumerQuotaMetricsResponse.create = function create(properties) { + return new ListConsumerQuotaMetricsResponse(properties); + }; + + /** + * Encodes the specified ListConsumerQuotaMetricsResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse} message ListConsumerQuotaMetricsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerQuotaMetricsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.metrics != null && message.metrics.length) + for (var i = 0; i < message.metrics.length; ++i) + $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric.encode(message.metrics[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListConsumerQuotaMetricsResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse} message ListConsumerQuotaMetricsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerQuotaMetricsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListConsumerQuotaMetricsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} ListConsumerQuotaMetricsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerQuotaMetricsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.metrics && message.metrics.length)) + message.metrics = []; + message.metrics.push($root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListConsumerQuotaMetricsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} ListConsumerQuotaMetricsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerQuotaMetricsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListConsumerQuotaMetricsResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListConsumerQuotaMetricsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.metrics != null && message.hasOwnProperty("metrics")) { + if (!Array.isArray(message.metrics)) + return "metrics: array expected"; + for (var i = 0; i < message.metrics.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric.verify(message.metrics[i]); + if (error) + return "metrics." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListConsumerQuotaMetricsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} ListConsumerQuotaMetricsResponse + */ + ListConsumerQuotaMetricsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse(); + if (object.metrics) { + if (!Array.isArray(object.metrics)) + throw TypeError(".google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.metrics: array expected"); + message.metrics = []; + for (var i = 0; i < object.metrics.length; ++i) { + if (typeof object.metrics[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse.metrics: object expected"); + message.metrics[i] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric.fromObject(object.metrics[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListConsumerQuotaMetricsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse} message ListConsumerQuotaMetricsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListConsumerQuotaMetricsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.metrics = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.metrics && message.metrics.length) { + object.metrics = []; + for (var j = 0; j < message.metrics.length; ++j) + object.metrics[j] = $root.google.api.serviceusage.v1beta1.ConsumerQuotaMetric.toObject(message.metrics[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListConsumerQuotaMetricsResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @instance + * @returns {Object.} JSON object + */ + ListConsumerQuotaMetricsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListConsumerQuotaMetricsResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListConsumerQuotaMetricsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse"; + }; + + return ListConsumerQuotaMetricsResponse; + })(); + + v1beta1.GetConsumerQuotaMetricRequest = (function() { + + /** + * Properties of a GetConsumerQuotaMetricRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGetConsumerQuotaMetricRequest + * @property {string|null} [name] GetConsumerQuotaMetricRequest name + * @property {google.api.serviceusage.v1beta1.QuotaView|null} [view] GetConsumerQuotaMetricRequest view + */ + + /** + * Constructs a new GetConsumerQuotaMetricRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GetConsumerQuotaMetricRequest. + * @implements IGetConsumerQuotaMetricRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest=} [properties] Properties to set + */ + function GetConsumerQuotaMetricRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetConsumerQuotaMetricRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @instance + */ + GetConsumerQuotaMetricRequest.prototype.name = ""; + + /** + * GetConsumerQuotaMetricRequest view. + * @member {google.api.serviceusage.v1beta1.QuotaView} view + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @instance + */ + GetConsumerQuotaMetricRequest.prototype.view = 0; + + /** + * Creates a new GetConsumerQuotaMetricRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest} GetConsumerQuotaMetricRequest instance + */ + GetConsumerQuotaMetricRequest.create = function create(properties) { + return new GetConsumerQuotaMetricRequest(properties); + }; + + /** + * Encodes the specified GetConsumerQuotaMetricRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest} message GetConsumerQuotaMetricRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsumerQuotaMetricRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.view != null && Object.hasOwnProperty.call(message, "view")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.view); + return writer; + }; + + /** + * Encodes the specified GetConsumerQuotaMetricRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest} message GetConsumerQuotaMetricRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsumerQuotaMetricRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetConsumerQuotaMetricRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest} GetConsumerQuotaMetricRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsumerQuotaMetricRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.view = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetConsumerQuotaMetricRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest} GetConsumerQuotaMetricRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsumerQuotaMetricRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetConsumerQuotaMetricRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetConsumerQuotaMetricRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.view != null && message.hasOwnProperty("view")) + switch (message.view) { + default: + return "view: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a GetConsumerQuotaMetricRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest} GetConsumerQuotaMetricRequest + */ + GetConsumerQuotaMetricRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest(); + if (object.name != null) + message.name = String(object.name); + switch (object.view) { + default: + if (typeof object.view === "number") { + message.view = object.view; + break; + } + break; + case "QUOTA_VIEW_UNSPECIFIED": + case 0: + message.view = 0; + break; + case "BASIC": + case 1: + message.view = 1; + break; + case "FULL": + case 2: + message.view = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a GetConsumerQuotaMetricRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest} message GetConsumerQuotaMetricRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetConsumerQuotaMetricRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.view = options.enums === String ? "QUOTA_VIEW_UNSPECIFIED" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.view != null && message.hasOwnProperty("view")) + object.view = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaView[message.view] === undefined ? message.view : $root.google.api.serviceusage.v1beta1.QuotaView[message.view] : message.view; + return object; + }; + + /** + * Converts this GetConsumerQuotaMetricRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @instance + * @returns {Object.} JSON object + */ + GetConsumerQuotaMetricRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetConsumerQuotaMetricRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetConsumerQuotaMetricRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest"; + }; + + return GetConsumerQuotaMetricRequest; + })(); + + v1beta1.GetConsumerQuotaLimitRequest = (function() { + + /** + * Properties of a GetConsumerQuotaLimitRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGetConsumerQuotaLimitRequest + * @property {string|null} [name] GetConsumerQuotaLimitRequest name + * @property {google.api.serviceusage.v1beta1.QuotaView|null} [view] GetConsumerQuotaLimitRequest view + */ + + /** + * Constructs a new GetConsumerQuotaLimitRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GetConsumerQuotaLimitRequest. + * @implements IGetConsumerQuotaLimitRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest=} [properties] Properties to set + */ + function GetConsumerQuotaLimitRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetConsumerQuotaLimitRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @instance + */ + GetConsumerQuotaLimitRequest.prototype.name = ""; + + /** + * GetConsumerQuotaLimitRequest view. + * @member {google.api.serviceusage.v1beta1.QuotaView} view + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @instance + */ + GetConsumerQuotaLimitRequest.prototype.view = 0; + + /** + * Creates a new GetConsumerQuotaLimitRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest} GetConsumerQuotaLimitRequest instance + */ + GetConsumerQuotaLimitRequest.create = function create(properties) { + return new GetConsumerQuotaLimitRequest(properties); + }; + + /** + * Encodes the specified GetConsumerQuotaLimitRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest} message GetConsumerQuotaLimitRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsumerQuotaLimitRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.view != null && Object.hasOwnProperty.call(message, "view")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.view); + return writer; + }; + + /** + * Encodes the specified GetConsumerQuotaLimitRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest} message GetConsumerQuotaLimitRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetConsumerQuotaLimitRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetConsumerQuotaLimitRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest} GetConsumerQuotaLimitRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsumerQuotaLimitRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.view = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetConsumerQuotaLimitRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest} GetConsumerQuotaLimitRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetConsumerQuotaLimitRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetConsumerQuotaLimitRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetConsumerQuotaLimitRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.view != null && message.hasOwnProperty("view")) + switch (message.view) { + default: + return "view: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a GetConsumerQuotaLimitRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest} GetConsumerQuotaLimitRequest + */ + GetConsumerQuotaLimitRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest(); + if (object.name != null) + message.name = String(object.name); + switch (object.view) { + default: + if (typeof object.view === "number") { + message.view = object.view; + break; + } + break; + case "QUOTA_VIEW_UNSPECIFIED": + case 0: + message.view = 0; + break; + case "BASIC": + case 1: + message.view = 1; + break; + case "FULL": + case 2: + message.view = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a GetConsumerQuotaLimitRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest} message GetConsumerQuotaLimitRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetConsumerQuotaLimitRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.view = options.enums === String ? "QUOTA_VIEW_UNSPECIFIED" : 0; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.view != null && message.hasOwnProperty("view")) + object.view = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaView[message.view] === undefined ? message.view : $root.google.api.serviceusage.v1beta1.QuotaView[message.view] : message.view; + return object; + }; + + /** + * Converts this GetConsumerQuotaLimitRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @instance + * @returns {Object.} JSON object + */ + GetConsumerQuotaLimitRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetConsumerQuotaLimitRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetConsumerQuotaLimitRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest"; + }; + + return GetConsumerQuotaLimitRequest; + })(); + + v1beta1.CreateAdminOverrideRequest = (function() { + + /** + * Properties of a CreateAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface ICreateAdminOverrideRequest + * @property {string|null} [parent] CreateAdminOverrideRequest parent + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [override] CreateAdminOverrideRequest override + * @property {boolean|null} [force] CreateAdminOverrideRequest force + * @property {Array.|null} [forceOnly] CreateAdminOverrideRequest forceOnly + */ + + /** + * Constructs a new CreateAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a CreateAdminOverrideRequest. + * @implements ICreateAdminOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest=} [properties] Properties to set + */ + function CreateAdminOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CreateAdminOverrideRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @instance + */ + CreateAdminOverrideRequest.prototype.parent = ""; + + /** + * CreateAdminOverrideRequest override. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} override + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @instance + */ + CreateAdminOverrideRequest.prototype.override = null; + + /** + * CreateAdminOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @instance + */ + CreateAdminOverrideRequest.prototype.force = false; + + /** + * CreateAdminOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @instance + */ + CreateAdminOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new CreateAdminOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.CreateAdminOverrideRequest} CreateAdminOverrideRequest instance + */ + CreateAdminOverrideRequest.create = function create(properties) { + return new CreateAdminOverrideRequest(properties); + }; + + /** + * Encodes the specified CreateAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest} message CreateAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAdminOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.override != null && Object.hasOwnProperty.call(message, "override")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.override, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CreateAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest} message CreateAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAdminOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateAdminOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.CreateAdminOverrideRequest} CreateAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAdminOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.CreateAdminOverrideRequest} CreateAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAdminOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateAdminOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateAdminOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.override != null && message.hasOwnProperty("override")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.override); + if (error) + return "override." + error; + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates a CreateAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.CreateAdminOverrideRequest} CreateAdminOverrideRequest + */ + CreateAdminOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.override != null) { + if (typeof object.override !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.override: object expected"); + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.override); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.CreateAdminOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a CreateAdminOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.CreateAdminOverrideRequest} message CreateAdminOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateAdminOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.parent = ""; + object.override = null; + object.force = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.override != null && message.hasOwnProperty("override")) + object.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.override, options); + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this CreateAdminOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + CreateAdminOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CreateAdminOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.CreateAdminOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateAdminOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.CreateAdminOverrideRequest"; + }; + + return CreateAdminOverrideRequest; + })(); + + v1beta1.UpdateAdminOverrideRequest = (function() { + + /** + * Properties of an UpdateAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IUpdateAdminOverrideRequest + * @property {string|null} [name] UpdateAdminOverrideRequest name + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [override] UpdateAdminOverrideRequest override + * @property {boolean|null} [force] UpdateAdminOverrideRequest force + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateAdminOverrideRequest updateMask + * @property {Array.|null} [forceOnly] UpdateAdminOverrideRequest forceOnly + */ + + /** + * Constructs a new UpdateAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an UpdateAdminOverrideRequest. + * @implements IUpdateAdminOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest=} [properties] Properties to set + */ + function UpdateAdminOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UpdateAdminOverrideRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + */ + UpdateAdminOverrideRequest.prototype.name = ""; + + /** + * UpdateAdminOverrideRequest override. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} override + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + */ + UpdateAdminOverrideRequest.prototype.override = null; + + /** + * UpdateAdminOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + */ + UpdateAdminOverrideRequest.prototype.force = false; + + /** + * UpdateAdminOverrideRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + */ + UpdateAdminOverrideRequest.prototype.updateMask = null; + + /** + * UpdateAdminOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + */ + UpdateAdminOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new UpdateAdminOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest} UpdateAdminOverrideRequest instance + */ + UpdateAdminOverrideRequest.create = function create(properties) { + return new UpdateAdminOverrideRequest(properties); + }; + + /** + * Encodes the specified UpdateAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest} message UpdateAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAdminOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.override != null && Object.hasOwnProperty.call(message, "override")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.override, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified UpdateAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest} message UpdateAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAdminOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateAdminOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest} UpdateAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAdminOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 5: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest} UpdateAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAdminOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateAdminOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateAdminOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.override != null && message.hasOwnProperty("override")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.override); + if (error) + return "override." + error; + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates an UpdateAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest} UpdateAdminOverrideRequest + */ + UpdateAdminOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.override != null) { + if (typeof object.override !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.override: object expected"); + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.override); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from an UpdateAdminOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest} message UpdateAdminOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateAdminOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.name = ""; + object.override = null; + object.force = false; + object.updateMask = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.override != null && message.hasOwnProperty("override")) + object.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.override, options); + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this UpdateAdminOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateAdminOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateAdminOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateAdminOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest"; + }; + + return UpdateAdminOverrideRequest; + })(); + + v1beta1.DeleteAdminOverrideRequest = (function() { + + /** + * Properties of a DeleteAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IDeleteAdminOverrideRequest + * @property {string|null} [name] DeleteAdminOverrideRequest name + * @property {boolean|null} [force] DeleteAdminOverrideRequest force + * @property {Array.|null} [forceOnly] DeleteAdminOverrideRequest forceOnly + */ + + /** + * Constructs a new DeleteAdminOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a DeleteAdminOverrideRequest. + * @implements IDeleteAdminOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest=} [properties] Properties to set + */ + function DeleteAdminOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DeleteAdminOverrideRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @instance + */ + DeleteAdminOverrideRequest.prototype.name = ""; + + /** + * DeleteAdminOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @instance + */ + DeleteAdminOverrideRequest.prototype.force = false; + + /** + * DeleteAdminOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @instance + */ + DeleteAdminOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new DeleteAdminOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest} DeleteAdminOverrideRequest instance + */ + DeleteAdminOverrideRequest.create = function create(properties) { + return new DeleteAdminOverrideRequest(properties); + }; + + /** + * Encodes the specified DeleteAdminOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest} message DeleteAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAdminOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified DeleteAdminOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest} message DeleteAdminOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAdminOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteAdminOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest} DeleteAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAdminOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.force = reader.bool(); + break; + } + case 3: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteAdminOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest} DeleteAdminOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAdminOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteAdminOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteAdminOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates a DeleteAdminOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest} DeleteAdminOverrideRequest + */ + DeleteAdminOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a DeleteAdminOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest} message DeleteAdminOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteAdminOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.name = ""; + object.force = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this DeleteAdminOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteAdminOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteAdminOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteAdminOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest"; + }; + + return DeleteAdminOverrideRequest; + })(); + + v1beta1.ListAdminOverridesRequest = (function() { + + /** + * Properties of a ListAdminOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListAdminOverridesRequest + * @property {string|null} [parent] ListAdminOverridesRequest parent + * @property {number|null} [pageSize] ListAdminOverridesRequest pageSize + * @property {string|null} [pageToken] ListAdminOverridesRequest pageToken + */ + + /** + * Constructs a new ListAdminOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListAdminOverridesRequest. + * @implements IListAdminOverridesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest=} [properties] Properties to set + */ + function ListAdminOverridesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListAdminOverridesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @instance + */ + ListAdminOverridesRequest.prototype.parent = ""; + + /** + * ListAdminOverridesRequest pageSize. + * @member {number} pageSize + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @instance + */ + ListAdminOverridesRequest.prototype.pageSize = 0; + + /** + * ListAdminOverridesRequest pageToken. + * @member {string} pageToken + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @instance + */ + ListAdminOverridesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListAdminOverridesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesRequest} ListAdminOverridesRequest instance + */ + ListAdminOverridesRequest.create = function create(properties) { + return new ListAdminOverridesRequest(properties); + }; + + /** + * Encodes the specified ListAdminOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest} message ListAdminOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAdminOverridesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListAdminOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesRequest} message ListAdminOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAdminOverridesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListAdminOverridesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesRequest} ListAdminOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAdminOverridesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListAdminOverridesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListAdminOverridesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesRequest} ListAdminOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAdminOverridesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListAdminOverridesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListAdminOverridesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListAdminOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesRequest} ListAdminOverridesRequest + */ + ListAdminOverridesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListAdminOverridesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListAdminOverridesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListAdminOverridesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.ListAdminOverridesRequest} message ListAdminOverridesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListAdminOverridesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListAdminOverridesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @instance + * @returns {Object.} JSON object + */ + ListAdminOverridesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListAdminOverridesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListAdminOverridesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListAdminOverridesRequest"; + }; + + return ListAdminOverridesRequest; + })(); + + v1beta1.ListAdminOverridesResponse = (function() { + + /** + * Properties of a ListAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListAdminOverridesResponse + * @property {Array.|null} [overrides] ListAdminOverridesResponse overrides + * @property {string|null} [nextPageToken] ListAdminOverridesResponse nextPageToken + */ + + /** + * Constructs a new ListAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListAdminOverridesResponse. + * @implements IListAdminOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesResponse=} [properties] Properties to set + */ + function ListAdminOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListAdminOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @instance + */ + ListAdminOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * ListAdminOverridesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @instance + */ + ListAdminOverridesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListAdminOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} ListAdminOverridesResponse instance + */ + ListAdminOverridesResponse.create = function create(properties) { + return new ListAdminOverridesResponse(properties); + }; + + /** + * Encodes the specified ListAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesResponse} message ListAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAdminOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListAdminOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListAdminOverridesResponse} message ListAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListAdminOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListAdminOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} ListAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAdminOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListAdminOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} ListAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListAdminOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListAdminOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListAdminOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} ListAdminOverridesResponse + */ + ListAdminOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListAdminOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListAdminOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.ListAdminOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ListAdminOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListAdminOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ListAdminOverridesResponse} message ListAdminOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListAdminOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListAdminOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + ListAdminOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListAdminOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListAdminOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListAdminOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListAdminOverridesResponse"; + }; + + return ListAdminOverridesResponse; + })(); + + v1beta1.BatchCreateAdminOverridesResponse = (function() { + + /** + * Properties of a BatchCreateAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IBatchCreateAdminOverridesResponse + * @property {Array.|null} [overrides] BatchCreateAdminOverridesResponse overrides + */ + + /** + * Constructs a new BatchCreateAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a BatchCreateAdminOverridesResponse. + * @implements IBatchCreateAdminOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse=} [properties] Properties to set + */ + function BatchCreateAdminOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchCreateAdminOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @instance + */ + BatchCreateAdminOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * Creates a new BatchCreateAdminOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse} BatchCreateAdminOverridesResponse instance + */ + BatchCreateAdminOverridesResponse.create = function create(properties) { + return new BatchCreateAdminOverridesResponse(properties); + }; + + /** + * Encodes the specified BatchCreateAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse} message BatchCreateAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchCreateAdminOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchCreateAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateAdminOverridesResponse} message BatchCreateAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchCreateAdminOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchCreateAdminOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse} BatchCreateAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchCreateAdminOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchCreateAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse} BatchCreateAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchCreateAdminOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchCreateAdminOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchCreateAdminOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + return null; + }; + + /** + * Creates a BatchCreateAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse} BatchCreateAdminOverridesResponse + */ + BatchCreateAdminOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchCreateAdminOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse} message BatchCreateAdminOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchCreateAdminOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + return object; + }; + + /** + * Converts this BatchCreateAdminOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchCreateAdminOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchCreateAdminOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchCreateAdminOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.BatchCreateAdminOverridesResponse"; + }; + + return BatchCreateAdminOverridesResponse; + })(); + + v1beta1.ImportAdminOverridesRequest = (function() { + + /** + * Properties of an ImportAdminOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportAdminOverridesRequest + * @property {string|null} [parent] ImportAdminOverridesRequest parent + * @property {google.api.serviceusage.v1beta1.IOverrideInlineSource|null} [inlineSource] ImportAdminOverridesRequest inlineSource + * @property {boolean|null} [force] ImportAdminOverridesRequest force + * @property {Array.|null} [forceOnly] ImportAdminOverridesRequest forceOnly + */ + + /** + * Constructs a new ImportAdminOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportAdminOverridesRequest. + * @implements IImportAdminOverridesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest=} [properties] Properties to set + */ + function ImportAdminOverridesRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportAdminOverridesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + */ + ImportAdminOverridesRequest.prototype.parent = ""; + + /** + * ImportAdminOverridesRequest inlineSource. + * @member {google.api.serviceusage.v1beta1.IOverrideInlineSource|null|undefined} inlineSource + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + */ + ImportAdminOverridesRequest.prototype.inlineSource = null; + + /** + * ImportAdminOverridesRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + */ + ImportAdminOverridesRequest.prototype.force = false; + + /** + * ImportAdminOverridesRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + */ + ImportAdminOverridesRequest.prototype.forceOnly = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ImportAdminOverridesRequest source. + * @member {"inlineSource"|undefined} source + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + */ + Object.defineProperty(ImportAdminOverridesRequest.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["inlineSource"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ImportAdminOverridesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesRequest} ImportAdminOverridesRequest instance + */ + ImportAdminOverridesRequest.create = function create(properties) { + return new ImportAdminOverridesRequest(properties); + }; + + /** + * Encodes the specified ImportAdminOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest} message ImportAdminOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inlineSource != null && Object.hasOwnProperty.call(message, "inlineSource")) + $root.google.api.serviceusage.v1beta1.OverrideInlineSource.encode(message.inlineSource, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified ImportAdminOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesRequest} message ImportAdminOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportAdminOverridesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesRequest} ImportAdminOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportAdminOverridesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesRequest} ImportAdminOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportAdminOverridesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportAdminOverridesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.inlineSource != null && message.hasOwnProperty("inlineSource")) { + properties.source = 1; + { + var error = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.verify(message.inlineSource); + if (error) + return "inlineSource." + error; + } + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates an ImportAdminOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesRequest} ImportAdminOverridesRequest + */ + ImportAdminOverridesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inlineSource != null) { + if (typeof object.inlineSource !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.inlineSource: object expected"); + message.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.fromObject(object.inlineSource); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminOverridesRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from an ImportAdminOverridesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.ImportAdminOverridesRequest} message ImportAdminOverridesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportAdminOverridesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.parent = ""; + object.force = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inlineSource != null && message.hasOwnProperty("inlineSource")) { + object.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.toObject(message.inlineSource, options); + if (options.oneofs) + object.source = "inlineSource"; + } + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this ImportAdminOverridesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @instance + * @returns {Object.} JSON object + */ + ImportAdminOverridesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportAdminOverridesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportAdminOverridesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportAdminOverridesRequest"; + }; + + return ImportAdminOverridesRequest; + })(); + + v1beta1.ImportAdminOverridesResponse = (function() { + + /** + * Properties of an ImportAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportAdminOverridesResponse + * @property {Array.|null} [overrides] ImportAdminOverridesResponse overrides + */ + + /** + * Constructs a new ImportAdminOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportAdminOverridesResponse. + * @implements IImportAdminOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesResponse=} [properties] Properties to set + */ + function ImportAdminOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportAdminOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @instance + */ + ImportAdminOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * Creates a new ImportAdminOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesResponse} ImportAdminOverridesResponse instance + */ + ImportAdminOverridesResponse.create = function create(properties) { + return new ImportAdminOverridesResponse(properties); + }; + + /** + * Encodes the specified ImportAdminOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesResponse} message ImportAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportAdminOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesResponse} message ImportAdminOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportAdminOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesResponse} ImportAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportAdminOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesResponse} ImportAdminOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportAdminOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportAdminOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + return null; + }; + + /** + * Creates an ImportAdminOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesResponse} ImportAdminOverridesResponse + */ + ImportAdminOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportAdminOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ImportAdminOverridesResponse} message ImportAdminOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportAdminOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + return object; + }; + + /** + * Converts this ImportAdminOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + ImportAdminOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportAdminOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportAdminOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportAdminOverridesResponse"; + }; + + return ImportAdminOverridesResponse; + })(); + + v1beta1.ImportAdminOverridesMetadata = (function() { + + /** + * Properties of an ImportAdminOverridesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportAdminOverridesMetadata + */ + + /** + * Constructs a new ImportAdminOverridesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportAdminOverridesMetadata. + * @implements IImportAdminOverridesMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata=} [properties] Properties to set + */ + function ImportAdminOverridesMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ImportAdminOverridesMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata} ImportAdminOverridesMetadata instance + */ + ImportAdminOverridesMetadata.create = function create(properties) { + return new ImportAdminOverridesMetadata(properties); + }; + + /** + * Encodes the specified ImportAdminOverridesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata} message ImportAdminOverridesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ImportAdminOverridesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata} message ImportAdminOverridesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminOverridesMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportAdminOverridesMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata} ImportAdminOverridesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportAdminOverridesMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata} ImportAdminOverridesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminOverridesMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportAdminOverridesMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportAdminOverridesMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an ImportAdminOverridesMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata} ImportAdminOverridesMetadata + */ + ImportAdminOverridesMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata(); + }; + + /** + * Creates a plain object from an ImportAdminOverridesMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata} message ImportAdminOverridesMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportAdminOverridesMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ImportAdminOverridesMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @instance + * @returns {Object.} JSON object + */ + ImportAdminOverridesMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportAdminOverridesMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportAdminOverridesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata"; + }; + + return ImportAdminOverridesMetadata; + })(); + + v1beta1.CreateConsumerOverrideRequest = (function() { + + /** + * Properties of a CreateConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface ICreateConsumerOverrideRequest + * @property {string|null} [parent] CreateConsumerOverrideRequest parent + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [override] CreateConsumerOverrideRequest override + * @property {boolean|null} [force] CreateConsumerOverrideRequest force + * @property {Array.|null} [forceOnly] CreateConsumerOverrideRequest forceOnly + */ + + /** + * Constructs a new CreateConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a CreateConsumerOverrideRequest. + * @implements ICreateConsumerOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest=} [properties] Properties to set + */ + function CreateConsumerOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CreateConsumerOverrideRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @instance + */ + CreateConsumerOverrideRequest.prototype.parent = ""; + + /** + * CreateConsumerOverrideRequest override. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} override + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @instance + */ + CreateConsumerOverrideRequest.prototype.override = null; + + /** + * CreateConsumerOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @instance + */ + CreateConsumerOverrideRequest.prototype.force = false; + + /** + * CreateConsumerOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @instance + */ + CreateConsumerOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new CreateConsumerOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest} CreateConsumerOverrideRequest instance + */ + CreateConsumerOverrideRequest.create = function create(properties) { + return new CreateConsumerOverrideRequest(properties); + }; + + /** + * Encodes the specified CreateConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest} message CreateConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateConsumerOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.override != null && Object.hasOwnProperty.call(message, "override")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.override, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified CreateConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest} message CreateConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateConsumerOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateConsumerOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest} CreateConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateConsumerOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest} CreateConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateConsumerOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateConsumerOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateConsumerOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.override != null && message.hasOwnProperty("override")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.override); + if (error) + return "override." + error; + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates a CreateConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest} CreateConsumerOverrideRequest + */ + CreateConsumerOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.override != null) { + if (typeof object.override !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.override: object expected"); + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.override); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a CreateConsumerOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest} message CreateConsumerOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateConsumerOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.parent = ""; + object.override = null; + object.force = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.override != null && message.hasOwnProperty("override")) + object.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.override, options); + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this CreateConsumerOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + CreateConsumerOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CreateConsumerOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateConsumerOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest"; + }; + + return CreateConsumerOverrideRequest; + })(); + + v1beta1.UpdateConsumerOverrideRequest = (function() { + + /** + * Properties of an UpdateConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IUpdateConsumerOverrideRequest + * @property {string|null} [name] UpdateConsumerOverrideRequest name + * @property {google.api.serviceusage.v1beta1.IQuotaOverride|null} [override] UpdateConsumerOverrideRequest override + * @property {boolean|null} [force] UpdateConsumerOverrideRequest force + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateConsumerOverrideRequest updateMask + * @property {Array.|null} [forceOnly] UpdateConsumerOverrideRequest forceOnly + */ + + /** + * Constructs a new UpdateConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an UpdateConsumerOverrideRequest. + * @implements IUpdateConsumerOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest=} [properties] Properties to set + */ + function UpdateConsumerOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UpdateConsumerOverrideRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + */ + UpdateConsumerOverrideRequest.prototype.name = ""; + + /** + * UpdateConsumerOverrideRequest override. + * @member {google.api.serviceusage.v1beta1.IQuotaOverride|null|undefined} override + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + */ + UpdateConsumerOverrideRequest.prototype.override = null; + + /** + * UpdateConsumerOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + */ + UpdateConsumerOverrideRequest.prototype.force = false; + + /** + * UpdateConsumerOverrideRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + */ + UpdateConsumerOverrideRequest.prototype.updateMask = null; + + /** + * UpdateConsumerOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + */ + UpdateConsumerOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new UpdateConsumerOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest} UpdateConsumerOverrideRequest instance + */ + UpdateConsumerOverrideRequest.create = function create(properties) { + return new UpdateConsumerOverrideRequest(properties); + }; + + /** + * Encodes the specified UpdateConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest} message UpdateConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateConsumerOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.override != null && Object.hasOwnProperty.call(message, "override")) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.override, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified UpdateConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest} message UpdateConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateConsumerOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateConsumerOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest} UpdateConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateConsumerOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 5: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest} UpdateConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateConsumerOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateConsumerOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateConsumerOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.override != null && message.hasOwnProperty("override")) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.override); + if (error) + return "override." + error; + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates an UpdateConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest} UpdateConsumerOverrideRequest + */ + UpdateConsumerOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.override != null) { + if (typeof object.override !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.override: object expected"); + message.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.override); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from an UpdateConsumerOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest} message UpdateConsumerOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateConsumerOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.name = ""; + object.override = null; + object.force = false; + object.updateMask = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.override != null && message.hasOwnProperty("override")) + object.override = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.override, options); + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this UpdateConsumerOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateConsumerOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateConsumerOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateConsumerOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest"; + }; + + return UpdateConsumerOverrideRequest; + })(); + + v1beta1.DeleteConsumerOverrideRequest = (function() { + + /** + * Properties of a DeleteConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IDeleteConsumerOverrideRequest + * @property {string|null} [name] DeleteConsumerOverrideRequest name + * @property {boolean|null} [force] DeleteConsumerOverrideRequest force + * @property {Array.|null} [forceOnly] DeleteConsumerOverrideRequest forceOnly + */ + + /** + * Constructs a new DeleteConsumerOverrideRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a DeleteConsumerOverrideRequest. + * @implements IDeleteConsumerOverrideRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest=} [properties] Properties to set + */ + function DeleteConsumerOverrideRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DeleteConsumerOverrideRequest name. + * @member {string} name + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @instance + */ + DeleteConsumerOverrideRequest.prototype.name = ""; + + /** + * DeleteConsumerOverrideRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @instance + */ + DeleteConsumerOverrideRequest.prototype.force = false; + + /** + * DeleteConsumerOverrideRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @instance + */ + DeleteConsumerOverrideRequest.prototype.forceOnly = $util.emptyArray; + + /** + * Creates a new DeleteConsumerOverrideRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest} DeleteConsumerOverrideRequest instance + */ + DeleteConsumerOverrideRequest.create = function create(properties) { + return new DeleteConsumerOverrideRequest(properties); + }; + + /** + * Encodes the specified DeleteConsumerOverrideRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest} message DeleteConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteConsumerOverrideRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified DeleteConsumerOverrideRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest} message DeleteConsumerOverrideRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteConsumerOverrideRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteConsumerOverrideRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest} DeleteConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteConsumerOverrideRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.force = reader.bool(); + break; + } + case 3: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteConsumerOverrideRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest} DeleteConsumerOverrideRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteConsumerOverrideRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteConsumerOverrideRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteConsumerOverrideRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates a DeleteConsumerOverrideRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest} DeleteConsumerOverrideRequest + */ + DeleteConsumerOverrideRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a DeleteConsumerOverrideRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest} message DeleteConsumerOverrideRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteConsumerOverrideRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.name = ""; + object.force = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this DeleteConsumerOverrideRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteConsumerOverrideRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteConsumerOverrideRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteConsumerOverrideRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest"; + }; + + return DeleteConsumerOverrideRequest; + })(); + + v1beta1.ListConsumerOverridesRequest = (function() { + + /** + * Properties of a ListConsumerOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListConsumerOverridesRequest + * @property {string|null} [parent] ListConsumerOverridesRequest parent + * @property {number|null} [pageSize] ListConsumerOverridesRequest pageSize + * @property {string|null} [pageToken] ListConsumerOverridesRequest pageToken + */ + + /** + * Constructs a new ListConsumerOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListConsumerOverridesRequest. + * @implements IListConsumerOverridesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest=} [properties] Properties to set + */ + function ListConsumerOverridesRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListConsumerOverridesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @instance + */ + ListConsumerOverridesRequest.prototype.parent = ""; + + /** + * ListConsumerOverridesRequest pageSize. + * @member {number} pageSize + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @instance + */ + ListConsumerOverridesRequest.prototype.pageSize = 0; + + /** + * ListConsumerOverridesRequest pageToken. + * @member {string} pageToken + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @instance + */ + ListConsumerOverridesRequest.prototype.pageToken = ""; + + /** + * Creates a new ListConsumerOverridesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesRequest} ListConsumerOverridesRequest instance + */ + ListConsumerOverridesRequest.create = function create(properties) { + return new ListConsumerOverridesRequest(properties); + }; + + /** + * Encodes the specified ListConsumerOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest} message ListConsumerOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerOverridesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + return writer; + }; + + /** + * Encodes the specified ListConsumerOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesRequest} message ListConsumerOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerOverridesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListConsumerOverridesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesRequest} ListConsumerOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerOverridesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListConsumerOverridesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesRequest} ListConsumerOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerOverridesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListConsumerOverridesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListConsumerOverridesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListConsumerOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesRequest} ListConsumerOverridesRequest + */ + ListConsumerOverridesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListConsumerOverridesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.ListConsumerOverridesRequest} message ListConsumerOverridesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListConsumerOverridesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.parent = ""; + object.pageSize = 0; + object.pageToken = ""; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + return object; + }; + + /** + * Converts this ListConsumerOverridesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @instance + * @returns {Object.} JSON object + */ + ListConsumerOverridesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListConsumerOverridesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListConsumerOverridesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListConsumerOverridesRequest"; + }; + + return ListConsumerOverridesRequest; + })(); + + v1beta1.ListConsumerOverridesResponse = (function() { + + /** + * Properties of a ListConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IListConsumerOverridesResponse + * @property {Array.|null} [overrides] ListConsumerOverridesResponse overrides + * @property {string|null} [nextPageToken] ListConsumerOverridesResponse nextPageToken + */ + + /** + * Constructs a new ListConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a ListConsumerOverridesResponse. + * @implements IListConsumerOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesResponse=} [properties] Properties to set + */ + function ListConsumerOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListConsumerOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @instance + */ + ListConsumerOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * ListConsumerOverridesResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @instance + */ + ListConsumerOverridesResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListConsumerOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} ListConsumerOverridesResponse instance + */ + ListConsumerOverridesResponse.create = function create(properties) { + return new ListConsumerOverridesResponse(properties); + }; + + /** + * Encodes the specified ListConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesResponse} message ListConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IListConsumerOverridesResponse} message ListConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListConsumerOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListConsumerOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} ListConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ListConsumerOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} ListConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListConsumerOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListConsumerOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListConsumerOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} ListConsumerOverridesResponse + */ + ListConsumerOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ListConsumerOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ListConsumerOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ListConsumerOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListConsumerOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ListConsumerOverridesResponse} message ListConsumerOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListConsumerOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListConsumerOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + ListConsumerOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListConsumerOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ListConsumerOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListConsumerOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ListConsumerOverridesResponse"; + }; + + return ListConsumerOverridesResponse; + })(); + + v1beta1.BatchCreateConsumerOverridesResponse = (function() { + + /** + * Properties of a BatchCreateConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IBatchCreateConsumerOverridesResponse + * @property {Array.|null} [overrides] BatchCreateConsumerOverridesResponse overrides + */ + + /** + * Constructs a new BatchCreateConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a BatchCreateConsumerOverridesResponse. + * @implements IBatchCreateConsumerOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse=} [properties] Properties to set + */ + function BatchCreateConsumerOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * BatchCreateConsumerOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @instance + */ + BatchCreateConsumerOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * Creates a new BatchCreateConsumerOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse} BatchCreateConsumerOverridesResponse instance + */ + BatchCreateConsumerOverridesResponse.create = function create(properties) { + return new BatchCreateConsumerOverridesResponse(properties); + }; + + /** + * Encodes the specified BatchCreateConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse} message BatchCreateConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchCreateConsumerOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified BatchCreateConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IBatchCreateConsumerOverridesResponse} message BatchCreateConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + BatchCreateConsumerOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a BatchCreateConsumerOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse} BatchCreateConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchCreateConsumerOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a BatchCreateConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse} BatchCreateConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + BatchCreateConsumerOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a BatchCreateConsumerOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + BatchCreateConsumerOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + return null; + }; + + /** + * Creates a BatchCreateConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse} BatchCreateConsumerOverridesResponse + */ + BatchCreateConsumerOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a BatchCreateConsumerOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse} message BatchCreateConsumerOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + BatchCreateConsumerOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + return object; + }; + + /** + * Converts this BatchCreateConsumerOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + BatchCreateConsumerOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for BatchCreateConsumerOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + BatchCreateConsumerOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.BatchCreateConsumerOverridesResponse"; + }; + + return BatchCreateConsumerOverridesResponse; + })(); + + v1beta1.ImportConsumerOverridesRequest = (function() { + + /** + * Properties of an ImportConsumerOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportConsumerOverridesRequest + * @property {string|null} [parent] ImportConsumerOverridesRequest parent + * @property {google.api.serviceusage.v1beta1.IOverrideInlineSource|null} [inlineSource] ImportConsumerOverridesRequest inlineSource + * @property {boolean|null} [force] ImportConsumerOverridesRequest force + * @property {Array.|null} [forceOnly] ImportConsumerOverridesRequest forceOnly + */ + + /** + * Constructs a new ImportConsumerOverridesRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportConsumerOverridesRequest. + * @implements IImportConsumerOverridesRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest=} [properties] Properties to set + */ + function ImportConsumerOverridesRequest(properties) { + this.forceOnly = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportConsumerOverridesRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + */ + ImportConsumerOverridesRequest.prototype.parent = ""; + + /** + * ImportConsumerOverridesRequest inlineSource. + * @member {google.api.serviceusage.v1beta1.IOverrideInlineSource|null|undefined} inlineSource + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + */ + ImportConsumerOverridesRequest.prototype.inlineSource = null; + + /** + * ImportConsumerOverridesRequest force. + * @member {boolean} force + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + */ + ImportConsumerOverridesRequest.prototype.force = false; + + /** + * ImportConsumerOverridesRequest forceOnly. + * @member {Array.} forceOnly + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + */ + ImportConsumerOverridesRequest.prototype.forceOnly = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * ImportConsumerOverridesRequest source. + * @member {"inlineSource"|undefined} source + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + */ + Object.defineProperty(ImportConsumerOverridesRequest.prototype, "source", { + get: $util.oneOfGetter($oneOfFields = ["inlineSource"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new ImportConsumerOverridesRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest} ImportConsumerOverridesRequest instance + */ + ImportConsumerOverridesRequest.create = function create(properties) { + return new ImportConsumerOverridesRequest(properties); + }; + + /** + * Encodes the specified ImportConsumerOverridesRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest} message ImportConsumerOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + if (message.inlineSource != null && Object.hasOwnProperty.call(message, "inlineSource")) + $root.google.api.serviceusage.v1beta1.OverrideInlineSource.encode(message.inlineSource, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.force != null && Object.hasOwnProperty.call(message, "force")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.force); + if (message.forceOnly != null && message.forceOnly.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.forceOnly.length; ++i) + writer.int32(message.forceOnly[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified ImportConsumerOverridesRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest} message ImportConsumerOverridesRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportConsumerOverridesRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest} ImportConsumerOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.decode(reader, reader.uint32()); + break; + } + case 3: { + message.force = reader.bool(); + break; + } + case 4: { + if (!(message.forceOnly && message.forceOnly.length)) + message.forceOnly = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.forceOnly.push(reader.int32()); + } else + message.forceOnly.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportConsumerOverridesRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest} ImportConsumerOverridesRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportConsumerOverridesRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportConsumerOverridesRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + if (message.inlineSource != null && message.hasOwnProperty("inlineSource")) { + properties.source = 1; + { + var error = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.verify(message.inlineSource); + if (error) + return "inlineSource." + error; + } + } + if (message.force != null && message.hasOwnProperty("force")) + if (typeof message.force !== "boolean") + return "force: boolean expected"; + if (message.forceOnly != null && message.hasOwnProperty("forceOnly")) { + if (!Array.isArray(message.forceOnly)) + return "forceOnly: array expected"; + for (var i = 0; i < message.forceOnly.length; ++i) + switch (message.forceOnly[i]) { + default: + return "forceOnly: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + return null; + }; + + /** + * Creates an ImportConsumerOverridesRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest} ImportConsumerOverridesRequest + */ + ImportConsumerOverridesRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.inlineSource != null) { + if (typeof object.inlineSource !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.inlineSource: object expected"); + message.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.fromObject(object.inlineSource); + } + if (object.force != null) + message.force = Boolean(object.force); + if (object.forceOnly) { + if (!Array.isArray(object.forceOnly)) + throw TypeError(".google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest.forceOnly: array expected"); + message.forceOnly = []; + for (var i = 0; i < object.forceOnly.length; ++i) + switch (object.forceOnly[i]) { + default: + if (typeof object.forceOnly[i] === "number") { + message.forceOnly[i] = object.forceOnly[i]; + break; + } + case "QUOTA_SAFETY_CHECK_UNSPECIFIED": + case 0: + message.forceOnly[i] = 0; + break; + case "LIMIT_DECREASE_BELOW_USAGE": + case 1: + message.forceOnly[i] = 1; + break; + case "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": + case 2: + message.forceOnly[i] = 2; + break; + } + } + return message; + }; + + /** + * Creates a plain object from an ImportConsumerOverridesRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest} message ImportConsumerOverridesRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportConsumerOverridesRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.forceOnly = []; + if (options.defaults) { + object.parent = ""; + object.force = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.inlineSource != null && message.hasOwnProperty("inlineSource")) { + object.inlineSource = $root.google.api.serviceusage.v1beta1.OverrideInlineSource.toObject(message.inlineSource, options); + if (options.oneofs) + object.source = "inlineSource"; + } + if (message.force != null && message.hasOwnProperty("force")) + object.force = message.force; + if (message.forceOnly && message.forceOnly.length) { + object.forceOnly = []; + for (var j = 0; j < message.forceOnly.length; ++j) + object.forceOnly[j] = options.enums === String ? $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] === undefined ? message.forceOnly[j] : $root.google.api.serviceusage.v1beta1.QuotaSafetyCheck[message.forceOnly[j]] : message.forceOnly[j]; + } + return object; + }; + + /** + * Converts this ImportConsumerOverridesRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @instance + * @returns {Object.} JSON object + */ + ImportConsumerOverridesRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportConsumerOverridesRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportConsumerOverridesRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest"; + }; + + return ImportConsumerOverridesRequest; + })(); + + v1beta1.ImportConsumerOverridesResponse = (function() { + + /** + * Properties of an ImportConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportConsumerOverridesResponse + * @property {Array.|null} [overrides] ImportConsumerOverridesResponse overrides + */ + + /** + * Constructs a new ImportConsumerOverridesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportConsumerOverridesResponse. + * @implements IImportConsumerOverridesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse=} [properties] Properties to set + */ + function ImportConsumerOverridesResponse(properties) { + this.overrides = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportConsumerOverridesResponse overrides. + * @member {Array.} overrides + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @instance + */ + ImportConsumerOverridesResponse.prototype.overrides = $util.emptyArray; + + /** + * Creates a new ImportConsumerOverridesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse} ImportConsumerOverridesResponse instance + */ + ImportConsumerOverridesResponse.create = function create(properties) { + return new ImportConsumerOverridesResponse(properties); + }; + + /** + * Encodes the specified ImportConsumerOverridesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse} message ImportConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.overrides != null && message.overrides.length) + for (var i = 0; i < message.overrides.length; ++i) + $root.google.api.serviceusage.v1beta1.QuotaOverride.encode(message.overrides[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportConsumerOverridesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse} message ImportConsumerOverridesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportConsumerOverridesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse} ImportConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.overrides && message.overrides.length)) + message.overrides = []; + message.overrides.push($root.google.api.serviceusage.v1beta1.QuotaOverride.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportConsumerOverridesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse} ImportConsumerOverridesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportConsumerOverridesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportConsumerOverridesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.overrides != null && message.hasOwnProperty("overrides")) { + if (!Array.isArray(message.overrides)) + return "overrides: array expected"; + for (var i = 0; i < message.overrides.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.QuotaOverride.verify(message.overrides[i]); + if (error) + return "overrides." + error; + } + } + return null; + }; + + /** + * Creates an ImportConsumerOverridesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse} ImportConsumerOverridesResponse + */ + ImportConsumerOverridesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse(); + if (object.overrides) { + if (!Array.isArray(object.overrides)) + throw TypeError(".google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.overrides: array expected"); + message.overrides = []; + for (var i = 0; i < object.overrides.length; ++i) { + if (typeof object.overrides[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse.overrides: object expected"); + message.overrides[i] = $root.google.api.serviceusage.v1beta1.QuotaOverride.fromObject(object.overrides[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportConsumerOverridesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse} message ImportConsumerOverridesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportConsumerOverridesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.overrides = []; + if (message.overrides && message.overrides.length) { + object.overrides = []; + for (var j = 0; j < message.overrides.length; ++j) + object.overrides[j] = $root.google.api.serviceusage.v1beta1.QuotaOverride.toObject(message.overrides[j], options); + } + return object; + }; + + /** + * Converts this ImportConsumerOverridesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @instance + * @returns {Object.} JSON object + */ + ImportConsumerOverridesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportConsumerOverridesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportConsumerOverridesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse"; + }; + + return ImportConsumerOverridesResponse; + })(); + + v1beta1.ImportConsumerOverridesMetadata = (function() { + + /** + * Properties of an ImportConsumerOverridesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportConsumerOverridesMetadata + */ + + /** + * Constructs a new ImportConsumerOverridesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportConsumerOverridesMetadata. + * @implements IImportConsumerOverridesMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata=} [properties] Properties to set + */ + function ImportConsumerOverridesMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ImportConsumerOverridesMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata} ImportConsumerOverridesMetadata instance + */ + ImportConsumerOverridesMetadata.create = function create(properties) { + return new ImportConsumerOverridesMetadata(properties); + }; + + /** + * Encodes the specified ImportConsumerOverridesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata} message ImportConsumerOverridesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ImportConsumerOverridesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata} message ImportConsumerOverridesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportConsumerOverridesMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportConsumerOverridesMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata} ImportConsumerOverridesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportConsumerOverridesMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata} ImportConsumerOverridesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportConsumerOverridesMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportConsumerOverridesMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportConsumerOverridesMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an ImportConsumerOverridesMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata} ImportConsumerOverridesMetadata + */ + ImportConsumerOverridesMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata(); + }; + + /** + * Creates a plain object from an ImportConsumerOverridesMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata} message ImportConsumerOverridesMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportConsumerOverridesMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ImportConsumerOverridesMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @instance + * @returns {Object.} JSON object + */ + ImportConsumerOverridesMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportConsumerOverridesMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportConsumerOverridesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata"; + }; + + return ImportConsumerOverridesMetadata; + })(); + + v1beta1.ImportAdminQuotaPoliciesResponse = (function() { + + /** + * Properties of an ImportAdminQuotaPoliciesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportAdminQuotaPoliciesResponse + * @property {Array.|null} [policies] ImportAdminQuotaPoliciesResponse policies + */ + + /** + * Constructs a new ImportAdminQuotaPoliciesResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportAdminQuotaPoliciesResponse. + * @implements IImportAdminQuotaPoliciesResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse=} [properties] Properties to set + */ + function ImportAdminQuotaPoliciesResponse(properties) { + this.policies = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ImportAdminQuotaPoliciesResponse policies. + * @member {Array.} policies + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @instance + */ + ImportAdminQuotaPoliciesResponse.prototype.policies = $util.emptyArray; + + /** + * Creates a new ImportAdminQuotaPoliciesResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse} ImportAdminQuotaPoliciesResponse instance + */ + ImportAdminQuotaPoliciesResponse.create = function create(properties) { + return new ImportAdminQuotaPoliciesResponse(properties); + }; + + /** + * Encodes the specified ImportAdminQuotaPoliciesResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse} message ImportAdminQuotaPoliciesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminQuotaPoliciesResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.policies != null && message.policies.length) + for (var i = 0; i < message.policies.length; ++i) + $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy.encode(message.policies[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ImportAdminQuotaPoliciesResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesResponse} message ImportAdminQuotaPoliciesResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminQuotaPoliciesResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportAdminQuotaPoliciesResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse} ImportAdminQuotaPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminQuotaPoliciesResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.policies && message.policies.length)) + message.policies = []; + message.policies.push($root.google.api.serviceusage.v1beta1.AdminQuotaPolicy.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportAdminQuotaPoliciesResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse} ImportAdminQuotaPoliciesResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminQuotaPoliciesResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportAdminQuotaPoliciesResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportAdminQuotaPoliciesResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.policies != null && message.hasOwnProperty("policies")) { + if (!Array.isArray(message.policies)) + return "policies: array expected"; + for (var i = 0; i < message.policies.length; ++i) { + var error = $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy.verify(message.policies[i]); + if (error) + return "policies." + error; + } + } + return null; + }; + + /** + * Creates an ImportAdminQuotaPoliciesResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse} ImportAdminQuotaPoliciesResponse + */ + ImportAdminQuotaPoliciesResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse(); + if (object.policies) { + if (!Array.isArray(object.policies)) + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.policies: array expected"); + message.policies = []; + for (var i = 0; i < object.policies.length; ++i) { + if (typeof object.policies[i] !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse.policies: object expected"); + message.policies[i] = $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy.fromObject(object.policies[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an ImportAdminQuotaPoliciesResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse} message ImportAdminQuotaPoliciesResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportAdminQuotaPoliciesResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.policies = []; + if (message.policies && message.policies.length) { + object.policies = []; + for (var j = 0; j < message.policies.length; ++j) + object.policies[j] = $root.google.api.serviceusage.v1beta1.AdminQuotaPolicy.toObject(message.policies[j], options); + } + return object; + }; + + /** + * Converts this ImportAdminQuotaPoliciesResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @instance + * @returns {Object.} JSON object + */ + ImportAdminQuotaPoliciesResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportAdminQuotaPoliciesResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportAdminQuotaPoliciesResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesResponse"; + }; + + return ImportAdminQuotaPoliciesResponse; + })(); + + v1beta1.ImportAdminQuotaPoliciesMetadata = (function() { + + /** + * Properties of an ImportAdminQuotaPoliciesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IImportAdminQuotaPoliciesMetadata + */ + + /** + * Constructs a new ImportAdminQuotaPoliciesMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an ImportAdminQuotaPoliciesMetadata. + * @implements IImportAdminQuotaPoliciesMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata=} [properties] Properties to set + */ + function ImportAdminQuotaPoliciesMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new ImportAdminQuotaPoliciesMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata} ImportAdminQuotaPoliciesMetadata instance + */ + ImportAdminQuotaPoliciesMetadata.create = function create(properties) { + return new ImportAdminQuotaPoliciesMetadata(properties); + }; + + /** + * Encodes the specified ImportAdminQuotaPoliciesMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata} message ImportAdminQuotaPoliciesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminQuotaPoliciesMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified ImportAdminQuotaPoliciesMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IImportAdminQuotaPoliciesMetadata} message ImportAdminQuotaPoliciesMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ImportAdminQuotaPoliciesMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ImportAdminQuotaPoliciesMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata} ImportAdminQuotaPoliciesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminQuotaPoliciesMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an ImportAdminQuotaPoliciesMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata} ImportAdminQuotaPoliciesMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ImportAdminQuotaPoliciesMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ImportAdminQuotaPoliciesMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ImportAdminQuotaPoliciesMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an ImportAdminQuotaPoliciesMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata} ImportAdminQuotaPoliciesMetadata + */ + ImportAdminQuotaPoliciesMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata(); + }; + + /** + * Creates a plain object from an ImportAdminQuotaPoliciesMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata} message ImportAdminQuotaPoliciesMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ImportAdminQuotaPoliciesMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this ImportAdminQuotaPoliciesMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @instance + * @returns {Object.} JSON object + */ + ImportAdminQuotaPoliciesMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ImportAdminQuotaPoliciesMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ImportAdminQuotaPoliciesMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.ImportAdminQuotaPoliciesMetadata"; + }; + + return ImportAdminQuotaPoliciesMetadata; + })(); + + v1beta1.CreateAdminQuotaPolicyMetadata = (function() { + + /** + * Properties of a CreateAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface ICreateAdminQuotaPolicyMetadata + */ + + /** + * Constructs a new CreateAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a CreateAdminQuotaPolicyMetadata. + * @implements ICreateAdminQuotaPolicyMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata=} [properties] Properties to set + */ + function CreateAdminQuotaPolicyMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new CreateAdminQuotaPolicyMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata} CreateAdminQuotaPolicyMetadata instance + */ + CreateAdminQuotaPolicyMetadata.create = function create(properties) { + return new CreateAdminQuotaPolicyMetadata(properties); + }; + + /** + * Encodes the specified CreateAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata} message CreateAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAdminQuotaPolicyMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified CreateAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.ICreateAdminQuotaPolicyMetadata} message CreateAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CreateAdminQuotaPolicyMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CreateAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata} CreateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAdminQuotaPolicyMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CreateAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata} CreateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CreateAdminQuotaPolicyMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CreateAdminQuotaPolicyMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CreateAdminQuotaPolicyMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a CreateAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata} CreateAdminQuotaPolicyMetadata + */ + CreateAdminQuotaPolicyMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata(); + }; + + /** + * Creates a plain object from a CreateAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata} message CreateAdminQuotaPolicyMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CreateAdminQuotaPolicyMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this CreateAdminQuotaPolicyMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @instance + * @returns {Object.} JSON object + */ + CreateAdminQuotaPolicyMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CreateAdminQuotaPolicyMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CreateAdminQuotaPolicyMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.CreateAdminQuotaPolicyMetadata"; + }; + + return CreateAdminQuotaPolicyMetadata; + })(); + + v1beta1.UpdateAdminQuotaPolicyMetadata = (function() { + + /** + * Properties of an UpdateAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IUpdateAdminQuotaPolicyMetadata + */ + + /** + * Constructs a new UpdateAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents an UpdateAdminQuotaPolicyMetadata. + * @implements IUpdateAdminQuotaPolicyMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata=} [properties] Properties to set + */ + function UpdateAdminQuotaPolicyMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new UpdateAdminQuotaPolicyMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata} UpdateAdminQuotaPolicyMetadata instance + */ + UpdateAdminQuotaPolicyMetadata.create = function create(properties) { + return new UpdateAdminQuotaPolicyMetadata(properties); + }; + + /** + * Encodes the specified UpdateAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata} message UpdateAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAdminQuotaPolicyMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified UpdateAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IUpdateAdminQuotaPolicyMetadata} message UpdateAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateAdminQuotaPolicyMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata} UpdateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAdminQuotaPolicyMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata} UpdateAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateAdminQuotaPolicyMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateAdminQuotaPolicyMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateAdminQuotaPolicyMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates an UpdateAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata} UpdateAdminQuotaPolicyMetadata + */ + UpdateAdminQuotaPolicyMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata(); + }; + + /** + * Creates a plain object from an UpdateAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata} message UpdateAdminQuotaPolicyMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateAdminQuotaPolicyMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this UpdateAdminQuotaPolicyMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @instance + * @returns {Object.} JSON object + */ + UpdateAdminQuotaPolicyMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateAdminQuotaPolicyMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateAdminQuotaPolicyMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.UpdateAdminQuotaPolicyMetadata"; + }; + + return UpdateAdminQuotaPolicyMetadata; + })(); + + v1beta1.DeleteAdminQuotaPolicyMetadata = (function() { + + /** + * Properties of a DeleteAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IDeleteAdminQuotaPolicyMetadata + */ + + /** + * Constructs a new DeleteAdminQuotaPolicyMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a DeleteAdminQuotaPolicyMetadata. + * @implements IDeleteAdminQuotaPolicyMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata=} [properties] Properties to set + */ + function DeleteAdminQuotaPolicyMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new DeleteAdminQuotaPolicyMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata} DeleteAdminQuotaPolicyMetadata instance + */ + DeleteAdminQuotaPolicyMetadata.create = function create(properties) { + return new DeleteAdminQuotaPolicyMetadata(properties); + }; + + /** + * Encodes the specified DeleteAdminQuotaPolicyMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata} message DeleteAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAdminQuotaPolicyMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified DeleteAdminQuotaPolicyMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IDeleteAdminQuotaPolicyMetadata} message DeleteAdminQuotaPolicyMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteAdminQuotaPolicyMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteAdminQuotaPolicyMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata} DeleteAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAdminQuotaPolicyMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteAdminQuotaPolicyMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata} DeleteAdminQuotaPolicyMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteAdminQuotaPolicyMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteAdminQuotaPolicyMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteAdminQuotaPolicyMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a DeleteAdminQuotaPolicyMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata} DeleteAdminQuotaPolicyMetadata + */ + DeleteAdminQuotaPolicyMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata(); + }; + + /** + * Creates a plain object from a DeleteAdminQuotaPolicyMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata} message DeleteAdminQuotaPolicyMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteAdminQuotaPolicyMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this DeleteAdminQuotaPolicyMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @instance + * @returns {Object.} JSON object + */ + DeleteAdminQuotaPolicyMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteAdminQuotaPolicyMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteAdminQuotaPolicyMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.DeleteAdminQuotaPolicyMetadata"; + }; + + return DeleteAdminQuotaPolicyMetadata; + })(); + + v1beta1.GenerateServiceIdentityRequest = (function() { + + /** + * Properties of a GenerateServiceIdentityRequest. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGenerateServiceIdentityRequest + * @property {string|null} [parent] GenerateServiceIdentityRequest parent + */ + + /** + * Constructs a new GenerateServiceIdentityRequest. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GenerateServiceIdentityRequest. + * @implements IGenerateServiceIdentityRequest + * @constructor + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest=} [properties] Properties to set + */ + function GenerateServiceIdentityRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GenerateServiceIdentityRequest parent. + * @member {string} parent + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @instance + */ + GenerateServiceIdentityRequest.prototype.parent = ""; + + /** + * Creates a new GenerateServiceIdentityRequest instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest instance + */ + GenerateServiceIdentityRequest.create = function create(properties) { + return new GenerateServiceIdentityRequest(properties); + }; + + /** + * Encodes the specified GenerateServiceIdentityRequest message. Does not implicitly {@link google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest} message GenerateServiceIdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.parent != null && Object.hasOwnProperty.call(message, "parent")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.parent); + return writer; + }; + + /** + * Encodes the specified GenerateServiceIdentityRequest message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest} message GenerateServiceIdentityRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GenerateServiceIdentityRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GenerateServiceIdentityRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GenerateServiceIdentityRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GenerateServiceIdentityRequest message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GenerateServiceIdentityRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.parent != null && message.hasOwnProperty("parent")) + if (!$util.isString(message.parent)) + return "parent: string expected"; + return null; + }; + + /** + * Creates a GenerateServiceIdentityRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest} GenerateServiceIdentityRequest + */ + GenerateServiceIdentityRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest) + return object; + var message = new $root.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest(); + if (object.parent != null) + message.parent = String(object.parent); + return message; + }; + + /** + * Creates a plain object from a GenerateServiceIdentityRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest} message GenerateServiceIdentityRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GenerateServiceIdentityRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.parent = ""; + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + return object; + }; + + /** + * Converts this GenerateServiceIdentityRequest to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @instance + * @returns {Object.} JSON object + */ + GenerateServiceIdentityRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GenerateServiceIdentityRequest + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GenerateServiceIdentityRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest"; + }; + + return GenerateServiceIdentityRequest; + })(); + + v1beta1.GetServiceIdentityResponse = (function() { + + /** + * Properties of a GetServiceIdentityResponse. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGetServiceIdentityResponse + * @property {google.api.serviceusage.v1beta1.IServiceIdentity|null} [identity] GetServiceIdentityResponse identity + * @property {google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState|null} [state] GetServiceIdentityResponse state + */ + + /** + * Constructs a new GetServiceIdentityResponse. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GetServiceIdentityResponse. + * @implements IGetServiceIdentityResponse + * @constructor + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityResponse=} [properties] Properties to set + */ + function GetServiceIdentityResponse(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetServiceIdentityResponse identity. + * @member {google.api.serviceusage.v1beta1.IServiceIdentity|null|undefined} identity + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @instance + */ + GetServiceIdentityResponse.prototype.identity = null; + + /** + * GetServiceIdentityResponse state. + * @member {google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState} state + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @instance + */ + GetServiceIdentityResponse.prototype.state = 0; + + /** + * Creates a new GetServiceIdentityResponse instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityResponse=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityResponse} GetServiceIdentityResponse instance + */ + GetServiceIdentityResponse.create = function create(properties) { + return new GetServiceIdentityResponse(properties); + }; + + /** + * Encodes the specified GetServiceIdentityResponse message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityResponse.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityResponse} message GetServiceIdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceIdentityResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.identity != null && Object.hasOwnProperty.call(message, "identity")) + $root.google.api.serviceusage.v1beta1.ServiceIdentity.encode(message.identity, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.state); + return writer; + }; + + /** + * Encodes the specified GetServiceIdentityResponse message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityResponse} message GetServiceIdentityResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceIdentityResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetServiceIdentityResponse message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityResponse} GetServiceIdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceIdentityResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GetServiceIdentityResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.identity = $root.google.api.serviceusage.v1beta1.ServiceIdentity.decode(reader, reader.uint32()); + break; + } + case 2: { + message.state = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetServiceIdentityResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityResponse} GetServiceIdentityResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceIdentityResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetServiceIdentityResponse message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetServiceIdentityResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.identity != null && message.hasOwnProperty("identity")) { + var error = $root.google.api.serviceusage.v1beta1.ServiceIdentity.verify(message.identity); + if (error) + return "identity." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + break; + } + return null; + }; + + /** + * Creates a GetServiceIdentityResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityResponse} GetServiceIdentityResponse + */ + GetServiceIdentityResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GetServiceIdentityResponse) + return object; + var message = new $root.google.api.serviceusage.v1beta1.GetServiceIdentityResponse(); + if (object.identity != null) { + if (typeof object.identity !== "object") + throw TypeError(".google.api.serviceusage.v1beta1.GetServiceIdentityResponse.identity: object expected"); + message.identity = $root.google.api.serviceusage.v1beta1.ServiceIdentity.fromObject(object.identity); + } + switch (object.state) { + default: + if (typeof object.state === "number") { + message.state = object.state; + break; + } + break; + case "IDENTITY_STATE_UNSPECIFIED": + case 0: + message.state = 0; + break; + case "ACTIVE": + case 1: + message.state = 1; + break; + } + return message; + }; + + /** + * Creates a plain object from a GetServiceIdentityResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {google.api.serviceusage.v1beta1.GetServiceIdentityResponse} message GetServiceIdentityResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetServiceIdentityResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.identity = null; + object.state = options.enums === String ? "IDENTITY_STATE_UNSPECIFIED" : 0; + } + if (message.identity != null && message.hasOwnProperty("identity")) + object.identity = $root.google.api.serviceusage.v1beta1.ServiceIdentity.toObject(message.identity, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState[message.state] === undefined ? message.state : $root.google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState[message.state] : message.state; + return object; + }; + + /** + * Converts this GetServiceIdentityResponse to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @instance + * @returns {Object.} JSON object + */ + GetServiceIdentityResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetServiceIdentityResponse + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetServiceIdentityResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GetServiceIdentityResponse"; + }; + + /** + * IdentityState enum. + * @name google.api.serviceusage.v1beta1.GetServiceIdentityResponse.IdentityState + * @enum {number} + * @property {number} IDENTITY_STATE_UNSPECIFIED=0 IDENTITY_STATE_UNSPECIFIED value + * @property {number} ACTIVE=1 ACTIVE value + */ + GetServiceIdentityResponse.IdentityState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "IDENTITY_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "ACTIVE"] = 1; + return values; + })(); + + return GetServiceIdentityResponse; + })(); + + v1beta1.GetServiceIdentityMetadata = (function() { + + /** + * Properties of a GetServiceIdentityMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @interface IGetServiceIdentityMetadata + */ + + /** + * Constructs a new GetServiceIdentityMetadata. + * @memberof google.api.serviceusage.v1beta1 + * @classdesc Represents a GetServiceIdentityMetadata. + * @implements IGetServiceIdentityMetadata + * @constructor + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata=} [properties] Properties to set + */ + function GetServiceIdentityMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Creates a new GetServiceIdentityMetadata instance using the specified properties. + * @function create + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata=} [properties] Properties to set + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityMetadata} GetServiceIdentityMetadata instance + */ + GetServiceIdentityMetadata.create = function create(properties) { + return new GetServiceIdentityMetadata(properties); + }; + + /** + * Encodes the specified GetServiceIdentityMetadata message. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata} message GetServiceIdentityMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceIdentityMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + return writer; + }; + + /** + * Encodes the specified GetServiceIdentityMetadata message, length delimited. Does not implicitly {@link google.api.serviceusage.v1beta1.GetServiceIdentityMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {google.api.serviceusage.v1beta1.IGetServiceIdentityMetadata} message GetServiceIdentityMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetServiceIdentityMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetServiceIdentityMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityMetadata} GetServiceIdentityMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceIdentityMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.serviceusage.v1beta1.GetServiceIdentityMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetServiceIdentityMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityMetadata} GetServiceIdentityMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetServiceIdentityMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetServiceIdentityMetadata message. + * @function verify + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetServiceIdentityMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + return null; + }; + + /** + * Creates a GetServiceIdentityMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.serviceusage.v1beta1.GetServiceIdentityMetadata} GetServiceIdentityMetadata + */ + GetServiceIdentityMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.serviceusage.v1beta1.GetServiceIdentityMetadata) + return object; + return new $root.google.api.serviceusage.v1beta1.GetServiceIdentityMetadata(); + }; + + /** + * Creates a plain object from a GetServiceIdentityMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {google.api.serviceusage.v1beta1.GetServiceIdentityMetadata} message GetServiceIdentityMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetServiceIdentityMetadata.toObject = function toObject() { + return {}; + }; + + /** + * Converts this GetServiceIdentityMetadata to JSON. + * @function toJSON + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @instance + * @returns {Object.} JSON object + */ + GetServiceIdentityMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetServiceIdentityMetadata + * @function getTypeUrl + * @memberof google.api.serviceusage.v1beta1.GetServiceIdentityMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetServiceIdentityMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.serviceusage.v1beta1.GetServiceIdentityMetadata"; + }; + + return GetServiceIdentityMetadata; + })(); + + return v1beta1; + })(); + + return serviceusage; + })(); + + api.Authentication = (function() { + + /** + * Properties of an Authentication. + * @memberof google.api + * @interface IAuthentication + * @property {Array.|null} [rules] Authentication rules + * @property {Array.|null} [providers] Authentication providers + */ + + /** + * Constructs a new Authentication. + * @memberof google.api + * @classdesc Represents an Authentication. + * @implements IAuthentication + * @constructor + * @param {google.api.IAuthentication=} [properties] Properties to set + */ + function Authentication(properties) { + this.rules = []; + this.providers = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Authentication rules. + * @member {Array.} rules + * @memberof google.api.Authentication + * @instance + */ + Authentication.prototype.rules = $util.emptyArray; + + /** + * Authentication providers. + * @member {Array.} providers + * @memberof google.api.Authentication + * @instance + */ + Authentication.prototype.providers = $util.emptyArray; + + /** + * Creates a new Authentication instance using the specified properties. + * @function create + * @memberof google.api.Authentication + * @static + * @param {google.api.IAuthentication=} [properties] Properties to set + * @returns {google.api.Authentication} Authentication instance + */ + Authentication.create = function create(properties) { + return new Authentication(properties); + }; + + /** + * Encodes the specified Authentication message. Does not implicitly {@link google.api.Authentication.verify|verify} messages. + * @function encode + * @memberof google.api.Authentication + * @static + * @param {google.api.IAuthentication} message Authentication message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Authentication.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.AuthenticationRule.encode(message.rules[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.providers != null && message.providers.length) + for (var i = 0; i < message.providers.length; ++i) + $root.google.api.AuthProvider.encode(message.providers[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Authentication message, length delimited. Does not implicitly {@link google.api.Authentication.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Authentication + * @static + * @param {google.api.IAuthentication} message Authentication message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Authentication.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Authentication message from the specified reader or buffer. + * @function decode + * @memberof google.api.Authentication + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Authentication} Authentication + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Authentication.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Authentication(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.AuthenticationRule.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.providers && message.providers.length)) + message.providers = []; + message.providers.push($root.google.api.AuthProvider.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Authentication message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Authentication + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Authentication} Authentication + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Authentication.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Authentication message. + * @function verify + * @memberof google.api.Authentication + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Authentication.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.AuthenticationRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.providers != null && message.hasOwnProperty("providers")) { + if (!Array.isArray(message.providers)) + return "providers: array expected"; + for (var i = 0; i < message.providers.length; ++i) { + var error = $root.google.api.AuthProvider.verify(message.providers[i]); + if (error) + return "providers." + error; + } + } + return null; + }; + + /** + * Creates an Authentication message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Authentication + * @static + * @param {Object.} object Plain object + * @returns {google.api.Authentication} Authentication + */ + Authentication.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Authentication) + return object; + var message = new $root.google.api.Authentication(); + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Authentication.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Authentication.rules: object expected"); + message.rules[i] = $root.google.api.AuthenticationRule.fromObject(object.rules[i]); + } + } + if (object.providers) { + if (!Array.isArray(object.providers)) + throw TypeError(".google.api.Authentication.providers: array expected"); + message.providers = []; + for (var i = 0; i < object.providers.length; ++i) { + if (typeof object.providers[i] !== "object") + throw TypeError(".google.api.Authentication.providers: object expected"); + message.providers[i] = $root.google.api.AuthProvider.fromObject(object.providers[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an Authentication message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Authentication + * @static + * @param {google.api.Authentication} message Authentication + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Authentication.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.rules = []; + object.providers = []; + } + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.AuthenticationRule.toObject(message.rules[j], options); + } + if (message.providers && message.providers.length) { + object.providers = []; + for (var j = 0; j < message.providers.length; ++j) + object.providers[j] = $root.google.api.AuthProvider.toObject(message.providers[j], options); + } + return object; + }; + + /** + * Converts this Authentication to JSON. + * @function toJSON + * @memberof google.api.Authentication + * @instance + * @returns {Object.} JSON object + */ + Authentication.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Authentication + * @function getTypeUrl + * @memberof google.api.Authentication + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Authentication.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Authentication"; + }; + + return Authentication; + })(); + + api.AuthenticationRule = (function() { + + /** + * Properties of an AuthenticationRule. + * @memberof google.api + * @interface IAuthenticationRule + * @property {string|null} [selector] AuthenticationRule selector + * @property {google.api.IOAuthRequirements|null} [oauth] AuthenticationRule oauth + * @property {boolean|null} [allowWithoutCredential] AuthenticationRule allowWithoutCredential + * @property {Array.|null} [requirements] AuthenticationRule requirements + */ + + /** + * Constructs a new AuthenticationRule. + * @memberof google.api + * @classdesc Represents an AuthenticationRule. + * @implements IAuthenticationRule + * @constructor + * @param {google.api.IAuthenticationRule=} [properties] Properties to set + */ + function AuthenticationRule(properties) { + this.requirements = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AuthenticationRule selector. + * @member {string} selector + * @memberof google.api.AuthenticationRule + * @instance + */ + AuthenticationRule.prototype.selector = ""; + + /** + * AuthenticationRule oauth. + * @member {google.api.IOAuthRequirements|null|undefined} oauth + * @memberof google.api.AuthenticationRule + * @instance + */ + AuthenticationRule.prototype.oauth = null; + + /** + * AuthenticationRule allowWithoutCredential. + * @member {boolean} allowWithoutCredential + * @memberof google.api.AuthenticationRule + * @instance + */ + AuthenticationRule.prototype.allowWithoutCredential = false; + + /** + * AuthenticationRule requirements. + * @member {Array.} requirements + * @memberof google.api.AuthenticationRule + * @instance + */ + AuthenticationRule.prototype.requirements = $util.emptyArray; + + /** + * Creates a new AuthenticationRule instance using the specified properties. + * @function create + * @memberof google.api.AuthenticationRule + * @static + * @param {google.api.IAuthenticationRule=} [properties] Properties to set + * @returns {google.api.AuthenticationRule} AuthenticationRule instance + */ + AuthenticationRule.create = function create(properties) { + return new AuthenticationRule(properties); + }; + + /** + * Encodes the specified AuthenticationRule message. Does not implicitly {@link google.api.AuthenticationRule.verify|verify} messages. + * @function encode + * @memberof google.api.AuthenticationRule + * @static + * @param {google.api.IAuthenticationRule} message AuthenticationRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthenticationRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.oauth != null && Object.hasOwnProperty.call(message, "oauth")) + $root.google.api.OAuthRequirements.encode(message.oauth, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.allowWithoutCredential != null && Object.hasOwnProperty.call(message, "allowWithoutCredential")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.allowWithoutCredential); + if (message.requirements != null && message.requirements.length) + for (var i = 0; i < message.requirements.length; ++i) + $root.google.api.AuthRequirement.encode(message.requirements[i], writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AuthenticationRule message, length delimited. Does not implicitly {@link google.api.AuthenticationRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.AuthenticationRule + * @static + * @param {google.api.IAuthenticationRule} message AuthenticationRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthenticationRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthenticationRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.AuthenticationRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.AuthenticationRule} AuthenticationRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthenticationRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.AuthenticationRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.oauth = $root.google.api.OAuthRequirements.decode(reader, reader.uint32()); + break; + } + case 5: { + message.allowWithoutCredential = reader.bool(); + break; + } + case 7: { + if (!(message.requirements && message.requirements.length)) + message.requirements = []; + message.requirements.push($root.google.api.AuthRequirement.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthenticationRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.AuthenticationRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.AuthenticationRule} AuthenticationRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthenticationRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthenticationRule message. + * @function verify + * @memberof google.api.AuthenticationRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthenticationRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.oauth != null && message.hasOwnProperty("oauth")) { + var error = $root.google.api.OAuthRequirements.verify(message.oauth); + if (error) + return "oauth." + error; + } + if (message.allowWithoutCredential != null && message.hasOwnProperty("allowWithoutCredential")) + if (typeof message.allowWithoutCredential !== "boolean") + return "allowWithoutCredential: boolean expected"; + if (message.requirements != null && message.hasOwnProperty("requirements")) { + if (!Array.isArray(message.requirements)) + return "requirements: array expected"; + for (var i = 0; i < message.requirements.length; ++i) { + var error = $root.google.api.AuthRequirement.verify(message.requirements[i]); + if (error) + return "requirements." + error; + } + } + return null; + }; + + /** + * Creates an AuthenticationRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.AuthenticationRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.AuthenticationRule} AuthenticationRule + */ + AuthenticationRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.AuthenticationRule) + return object; + var message = new $root.google.api.AuthenticationRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.oauth != null) { + if (typeof object.oauth !== "object") + throw TypeError(".google.api.AuthenticationRule.oauth: object expected"); + message.oauth = $root.google.api.OAuthRequirements.fromObject(object.oauth); + } + if (object.allowWithoutCredential != null) + message.allowWithoutCredential = Boolean(object.allowWithoutCredential); + if (object.requirements) { + if (!Array.isArray(object.requirements)) + throw TypeError(".google.api.AuthenticationRule.requirements: array expected"); + message.requirements = []; + for (var i = 0; i < object.requirements.length; ++i) { + if (typeof object.requirements[i] !== "object") + throw TypeError(".google.api.AuthenticationRule.requirements: object expected"); + message.requirements[i] = $root.google.api.AuthRequirement.fromObject(object.requirements[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AuthenticationRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.AuthenticationRule + * @static + * @param {google.api.AuthenticationRule} message AuthenticationRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthenticationRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.requirements = []; + if (options.defaults) { + object.selector = ""; + object.oauth = null; + object.allowWithoutCredential = false; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.oauth != null && message.hasOwnProperty("oauth")) + object.oauth = $root.google.api.OAuthRequirements.toObject(message.oauth, options); + if (message.allowWithoutCredential != null && message.hasOwnProperty("allowWithoutCredential")) + object.allowWithoutCredential = message.allowWithoutCredential; + if (message.requirements && message.requirements.length) { + object.requirements = []; + for (var j = 0; j < message.requirements.length; ++j) + object.requirements[j] = $root.google.api.AuthRequirement.toObject(message.requirements[j], options); + } + return object; + }; + + /** + * Converts this AuthenticationRule to JSON. + * @function toJSON + * @memberof google.api.AuthenticationRule + * @instance + * @returns {Object.} JSON object + */ + AuthenticationRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthenticationRule + * @function getTypeUrl + * @memberof google.api.AuthenticationRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthenticationRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.AuthenticationRule"; + }; + + return AuthenticationRule; + })(); + + api.JwtLocation = (function() { + + /** + * Properties of a JwtLocation. + * @memberof google.api + * @interface IJwtLocation + * @property {string|null} [header] JwtLocation header + * @property {string|null} [query] JwtLocation query + * @property {string|null} [valuePrefix] JwtLocation valuePrefix + */ + + /** + * Constructs a new JwtLocation. + * @memberof google.api + * @classdesc Represents a JwtLocation. + * @implements IJwtLocation + * @constructor + * @param {google.api.IJwtLocation=} [properties] Properties to set + */ + function JwtLocation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * JwtLocation header. + * @member {string|null|undefined} header + * @memberof google.api.JwtLocation + * @instance + */ + JwtLocation.prototype.header = null; + + /** + * JwtLocation query. + * @member {string|null|undefined} query + * @memberof google.api.JwtLocation + * @instance + */ + JwtLocation.prototype.query = null; + + /** + * JwtLocation valuePrefix. + * @member {string} valuePrefix + * @memberof google.api.JwtLocation + * @instance + */ + JwtLocation.prototype.valuePrefix = ""; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * JwtLocation in. + * @member {"header"|"query"|undefined} in_ + * @memberof google.api.JwtLocation + * @instance + */ + Object.defineProperty(JwtLocation.prototype, "in", { + get: $util.oneOfGetter($oneOfFields = ["header", "query"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new JwtLocation instance using the specified properties. + * @function create + * @memberof google.api.JwtLocation + * @static + * @param {google.api.IJwtLocation=} [properties] Properties to set + * @returns {google.api.JwtLocation} JwtLocation instance + */ + JwtLocation.create = function create(properties) { + return new JwtLocation(properties); + }; + + /** + * Encodes the specified JwtLocation message. Does not implicitly {@link google.api.JwtLocation.verify|verify} messages. + * @function encode + * @memberof google.api.JwtLocation + * @static + * @param {google.api.IJwtLocation} message JwtLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + JwtLocation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.header != null && Object.hasOwnProperty.call(message, "header")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.header); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.query); + if (message.valuePrefix != null && Object.hasOwnProperty.call(message, "valuePrefix")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.valuePrefix); + return writer; + }; + + /** + * Encodes the specified JwtLocation message, length delimited. Does not implicitly {@link google.api.JwtLocation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.JwtLocation + * @static + * @param {google.api.IJwtLocation} message JwtLocation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + JwtLocation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a JwtLocation message from the specified reader or buffer. + * @function decode + * @memberof google.api.JwtLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.JwtLocation} JwtLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + JwtLocation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.JwtLocation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.header = reader.string(); + break; + } + case 2: { + message.query = reader.string(); + break; + } + case 3: { + message.valuePrefix = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a JwtLocation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.JwtLocation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.JwtLocation} JwtLocation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + JwtLocation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a JwtLocation message. + * @function verify + * @memberof google.api.JwtLocation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + JwtLocation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.header != null && message.hasOwnProperty("header")) { + properties["in"] = 1; + if (!$util.isString(message.header)) + return "header: string expected"; + } + if (message.query != null && message.hasOwnProperty("query")) { + if (properties["in"] === 1) + return "in: multiple values"; + properties["in"] = 1; + if (!$util.isString(message.query)) + return "query: string expected"; + } + if (message.valuePrefix != null && message.hasOwnProperty("valuePrefix")) + if (!$util.isString(message.valuePrefix)) + return "valuePrefix: string expected"; + return null; + }; + + /** + * Creates a JwtLocation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.JwtLocation + * @static + * @param {Object.} object Plain object + * @returns {google.api.JwtLocation} JwtLocation + */ + JwtLocation.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.JwtLocation) + return object; + var message = new $root.google.api.JwtLocation(); + if (object.header != null) + message.header = String(object.header); + if (object.query != null) + message.query = String(object.query); + if (object.valuePrefix != null) + message.valuePrefix = String(object.valuePrefix); + return message; + }; + + /** + * Creates a plain object from a JwtLocation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.JwtLocation + * @static + * @param {google.api.JwtLocation} message JwtLocation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + JwtLocation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.valuePrefix = ""; + if (message.header != null && message.hasOwnProperty("header")) { + object.header = message.header; + if (options.oneofs) + object["in"] = "header"; + } + if (message.query != null && message.hasOwnProperty("query")) { + object.query = message.query; + if (options.oneofs) + object["in"] = "query"; + } + if (message.valuePrefix != null && message.hasOwnProperty("valuePrefix")) + object.valuePrefix = message.valuePrefix; + return object; + }; + + /** + * Converts this JwtLocation to JSON. + * @function toJSON + * @memberof google.api.JwtLocation + * @instance + * @returns {Object.} JSON object + */ + JwtLocation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for JwtLocation + * @function getTypeUrl + * @memberof google.api.JwtLocation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + JwtLocation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.JwtLocation"; + }; + + return JwtLocation; + })(); + + api.AuthProvider = (function() { + + /** + * Properties of an AuthProvider. + * @memberof google.api + * @interface IAuthProvider + * @property {string|null} [id] AuthProvider id + * @property {string|null} [issuer] AuthProvider issuer + * @property {string|null} [jwksUri] AuthProvider jwksUri + * @property {string|null} [audiences] AuthProvider audiences + * @property {string|null} [authorizationUrl] AuthProvider authorizationUrl + * @property {Array.|null} [jwtLocations] AuthProvider jwtLocations + */ + + /** + * Constructs a new AuthProvider. + * @memberof google.api + * @classdesc Represents an AuthProvider. + * @implements IAuthProvider + * @constructor + * @param {google.api.IAuthProvider=} [properties] Properties to set + */ + function AuthProvider(properties) { + this.jwtLocations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AuthProvider id. + * @member {string} id + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.id = ""; + + /** + * AuthProvider issuer. + * @member {string} issuer + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.issuer = ""; + + /** + * AuthProvider jwksUri. + * @member {string} jwksUri + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.jwksUri = ""; + + /** + * AuthProvider audiences. + * @member {string} audiences + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.audiences = ""; + + /** + * AuthProvider authorizationUrl. + * @member {string} authorizationUrl + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.authorizationUrl = ""; + + /** + * AuthProvider jwtLocations. + * @member {Array.} jwtLocations + * @memberof google.api.AuthProvider + * @instance + */ + AuthProvider.prototype.jwtLocations = $util.emptyArray; + + /** + * Creates a new AuthProvider instance using the specified properties. + * @function create + * @memberof google.api.AuthProvider + * @static + * @param {google.api.IAuthProvider=} [properties] Properties to set + * @returns {google.api.AuthProvider} AuthProvider instance + */ + AuthProvider.create = function create(properties) { + return new AuthProvider(properties); + }; + + /** + * Encodes the specified AuthProvider message. Does not implicitly {@link google.api.AuthProvider.verify|verify} messages. + * @function encode + * @memberof google.api.AuthProvider + * @static + * @param {google.api.IAuthProvider} message AuthProvider message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthProvider.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.id != null && Object.hasOwnProperty.call(message, "id")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.id); + if (message.issuer != null && Object.hasOwnProperty.call(message, "issuer")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.issuer); + if (message.jwksUri != null && Object.hasOwnProperty.call(message, "jwksUri")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.jwksUri); + if (message.audiences != null && Object.hasOwnProperty.call(message, "audiences")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.audiences); + if (message.authorizationUrl != null && Object.hasOwnProperty.call(message, "authorizationUrl")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.authorizationUrl); + if (message.jwtLocations != null && message.jwtLocations.length) + for (var i = 0; i < message.jwtLocations.length; ++i) + $root.google.api.JwtLocation.encode(message.jwtLocations[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified AuthProvider message, length delimited. Does not implicitly {@link google.api.AuthProvider.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.AuthProvider + * @static + * @param {google.api.IAuthProvider} message AuthProvider message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthProvider.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthProvider message from the specified reader or buffer. + * @function decode + * @memberof google.api.AuthProvider + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.AuthProvider} AuthProvider + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthProvider.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.AuthProvider(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.id = reader.string(); + break; + } + case 2: { + message.issuer = reader.string(); + break; + } + case 3: { + message.jwksUri = reader.string(); + break; + } + case 4: { + message.audiences = reader.string(); + break; + } + case 5: { + message.authorizationUrl = reader.string(); + break; + } + case 6: { + if (!(message.jwtLocations && message.jwtLocations.length)) + message.jwtLocations = []; + message.jwtLocations.push($root.google.api.JwtLocation.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthProvider message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.AuthProvider + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.AuthProvider} AuthProvider + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthProvider.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthProvider message. + * @function verify + * @memberof google.api.AuthProvider + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthProvider.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.id != null && message.hasOwnProperty("id")) + if (!$util.isString(message.id)) + return "id: string expected"; + if (message.issuer != null && message.hasOwnProperty("issuer")) + if (!$util.isString(message.issuer)) + return "issuer: string expected"; + if (message.jwksUri != null && message.hasOwnProperty("jwksUri")) + if (!$util.isString(message.jwksUri)) + return "jwksUri: string expected"; + if (message.audiences != null && message.hasOwnProperty("audiences")) + if (!$util.isString(message.audiences)) + return "audiences: string expected"; + if (message.authorizationUrl != null && message.hasOwnProperty("authorizationUrl")) + if (!$util.isString(message.authorizationUrl)) + return "authorizationUrl: string expected"; + if (message.jwtLocations != null && message.hasOwnProperty("jwtLocations")) { + if (!Array.isArray(message.jwtLocations)) + return "jwtLocations: array expected"; + for (var i = 0; i < message.jwtLocations.length; ++i) { + var error = $root.google.api.JwtLocation.verify(message.jwtLocations[i]); + if (error) + return "jwtLocations." + error; + } + } + return null; + }; + + /** + * Creates an AuthProvider message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.AuthProvider + * @static + * @param {Object.} object Plain object + * @returns {google.api.AuthProvider} AuthProvider + */ + AuthProvider.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.AuthProvider) + return object; + var message = new $root.google.api.AuthProvider(); + if (object.id != null) + message.id = String(object.id); + if (object.issuer != null) + message.issuer = String(object.issuer); + if (object.jwksUri != null) + message.jwksUri = String(object.jwksUri); + if (object.audiences != null) + message.audiences = String(object.audiences); + if (object.authorizationUrl != null) + message.authorizationUrl = String(object.authorizationUrl); + if (object.jwtLocations) { + if (!Array.isArray(object.jwtLocations)) + throw TypeError(".google.api.AuthProvider.jwtLocations: array expected"); + message.jwtLocations = []; + for (var i = 0; i < object.jwtLocations.length; ++i) { + if (typeof object.jwtLocations[i] !== "object") + throw TypeError(".google.api.AuthProvider.jwtLocations: object expected"); + message.jwtLocations[i] = $root.google.api.JwtLocation.fromObject(object.jwtLocations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from an AuthProvider message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.AuthProvider + * @static + * @param {google.api.AuthProvider} message AuthProvider + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthProvider.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.jwtLocations = []; + if (options.defaults) { + object.id = ""; + object.issuer = ""; + object.jwksUri = ""; + object.audiences = ""; + object.authorizationUrl = ""; + } + if (message.id != null && message.hasOwnProperty("id")) + object.id = message.id; + if (message.issuer != null && message.hasOwnProperty("issuer")) + object.issuer = message.issuer; + if (message.jwksUri != null && message.hasOwnProperty("jwksUri")) + object.jwksUri = message.jwksUri; + if (message.audiences != null && message.hasOwnProperty("audiences")) + object.audiences = message.audiences; + if (message.authorizationUrl != null && message.hasOwnProperty("authorizationUrl")) + object.authorizationUrl = message.authorizationUrl; + if (message.jwtLocations && message.jwtLocations.length) { + object.jwtLocations = []; + for (var j = 0; j < message.jwtLocations.length; ++j) + object.jwtLocations[j] = $root.google.api.JwtLocation.toObject(message.jwtLocations[j], options); + } + return object; + }; + + /** + * Converts this AuthProvider to JSON. + * @function toJSON + * @memberof google.api.AuthProvider + * @instance + * @returns {Object.} JSON object + */ + AuthProvider.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthProvider + * @function getTypeUrl + * @memberof google.api.AuthProvider + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthProvider.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.AuthProvider"; + }; + + return AuthProvider; + })(); + + api.OAuthRequirements = (function() { + + /** + * Properties of a OAuthRequirements. + * @memberof google.api + * @interface IOAuthRequirements + * @property {string|null} [canonicalScopes] OAuthRequirements canonicalScopes + */ + + /** + * Constructs a new OAuthRequirements. + * @memberof google.api + * @classdesc Represents a OAuthRequirements. + * @implements IOAuthRequirements + * @constructor + * @param {google.api.IOAuthRequirements=} [properties] Properties to set + */ + function OAuthRequirements(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OAuthRequirements canonicalScopes. + * @member {string} canonicalScopes + * @memberof google.api.OAuthRequirements + * @instance + */ + OAuthRequirements.prototype.canonicalScopes = ""; + + /** + * Creates a new OAuthRequirements instance using the specified properties. + * @function create + * @memberof google.api.OAuthRequirements + * @static + * @param {google.api.IOAuthRequirements=} [properties] Properties to set + * @returns {google.api.OAuthRequirements} OAuthRequirements instance + */ + OAuthRequirements.create = function create(properties) { + return new OAuthRequirements(properties); + }; + + /** + * Encodes the specified OAuthRequirements message. Does not implicitly {@link google.api.OAuthRequirements.verify|verify} messages. + * @function encode + * @memberof google.api.OAuthRequirements + * @static + * @param {google.api.IOAuthRequirements} message OAuthRequirements message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OAuthRequirements.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.canonicalScopes != null && Object.hasOwnProperty.call(message, "canonicalScopes")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.canonicalScopes); + return writer; + }; + + /** + * Encodes the specified OAuthRequirements message, length delimited. Does not implicitly {@link google.api.OAuthRequirements.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.OAuthRequirements + * @static + * @param {google.api.IOAuthRequirements} message OAuthRequirements message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OAuthRequirements.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a OAuthRequirements message from the specified reader or buffer. + * @function decode + * @memberof google.api.OAuthRequirements + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.OAuthRequirements} OAuthRequirements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OAuthRequirements.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.OAuthRequirements(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.canonicalScopes = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a OAuthRequirements message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.OAuthRequirements + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.OAuthRequirements} OAuthRequirements + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OAuthRequirements.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a OAuthRequirements message. + * @function verify + * @memberof google.api.OAuthRequirements + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OAuthRequirements.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.canonicalScopes != null && message.hasOwnProperty("canonicalScopes")) + if (!$util.isString(message.canonicalScopes)) + return "canonicalScopes: string expected"; + return null; + }; + + /** + * Creates a OAuthRequirements message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.OAuthRequirements + * @static + * @param {Object.} object Plain object + * @returns {google.api.OAuthRequirements} OAuthRequirements + */ + OAuthRequirements.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.OAuthRequirements) + return object; + var message = new $root.google.api.OAuthRequirements(); + if (object.canonicalScopes != null) + message.canonicalScopes = String(object.canonicalScopes); + return message; + }; + + /** + * Creates a plain object from a OAuthRequirements message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.OAuthRequirements + * @static + * @param {google.api.OAuthRequirements} message OAuthRequirements + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OAuthRequirements.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.canonicalScopes = ""; + if (message.canonicalScopes != null && message.hasOwnProperty("canonicalScopes")) + object.canonicalScopes = message.canonicalScopes; + return object; + }; + + /** + * Converts this OAuthRequirements to JSON. + * @function toJSON + * @memberof google.api.OAuthRequirements + * @instance + * @returns {Object.} JSON object + */ + OAuthRequirements.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OAuthRequirements + * @function getTypeUrl + * @memberof google.api.OAuthRequirements + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OAuthRequirements.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.OAuthRequirements"; + }; + + return OAuthRequirements; + })(); + + api.AuthRequirement = (function() { + + /** + * Properties of an AuthRequirement. + * @memberof google.api + * @interface IAuthRequirement + * @property {string|null} [providerId] AuthRequirement providerId + * @property {string|null} [audiences] AuthRequirement audiences + */ + + /** + * Constructs a new AuthRequirement. + * @memberof google.api + * @classdesc Represents an AuthRequirement. + * @implements IAuthRequirement + * @constructor + * @param {google.api.IAuthRequirement=} [properties] Properties to set + */ + function AuthRequirement(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * AuthRequirement providerId. + * @member {string} providerId + * @memberof google.api.AuthRequirement + * @instance + */ + AuthRequirement.prototype.providerId = ""; + + /** + * AuthRequirement audiences. + * @member {string} audiences + * @memberof google.api.AuthRequirement + * @instance + */ + AuthRequirement.prototype.audiences = ""; + + /** + * Creates a new AuthRequirement instance using the specified properties. + * @function create + * @memberof google.api.AuthRequirement + * @static + * @param {google.api.IAuthRequirement=} [properties] Properties to set + * @returns {google.api.AuthRequirement} AuthRequirement instance + */ + AuthRequirement.create = function create(properties) { + return new AuthRequirement(properties); + }; + + /** + * Encodes the specified AuthRequirement message. Does not implicitly {@link google.api.AuthRequirement.verify|verify} messages. + * @function encode + * @memberof google.api.AuthRequirement + * @static + * @param {google.api.IAuthRequirement} message AuthRequirement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthRequirement.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.providerId != null && Object.hasOwnProperty.call(message, "providerId")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.providerId); + if (message.audiences != null && Object.hasOwnProperty.call(message, "audiences")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.audiences); + return writer; + }; + + /** + * Encodes the specified AuthRequirement message, length delimited. Does not implicitly {@link google.api.AuthRequirement.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.AuthRequirement + * @static + * @param {google.api.IAuthRequirement} message AuthRequirement message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthRequirement.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthRequirement message from the specified reader or buffer. + * @function decode + * @memberof google.api.AuthRequirement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.AuthRequirement} AuthRequirement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthRequirement.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.AuthRequirement(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.providerId = reader.string(); + break; + } + case 2: { + message.audiences = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthRequirement message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.AuthRequirement + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.AuthRequirement} AuthRequirement + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthRequirement.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthRequirement message. + * @function verify + * @memberof google.api.AuthRequirement + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthRequirement.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.providerId != null && message.hasOwnProperty("providerId")) + if (!$util.isString(message.providerId)) + return "providerId: string expected"; + if (message.audiences != null && message.hasOwnProperty("audiences")) + if (!$util.isString(message.audiences)) + return "audiences: string expected"; + return null; + }; + + /** + * Creates an AuthRequirement message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.AuthRequirement + * @static + * @param {Object.} object Plain object + * @returns {google.api.AuthRequirement} AuthRequirement + */ + AuthRequirement.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.AuthRequirement) + return object; + var message = new $root.google.api.AuthRequirement(); + if (object.providerId != null) + message.providerId = String(object.providerId); + if (object.audiences != null) + message.audiences = String(object.audiences); + return message; + }; + + /** + * Creates a plain object from an AuthRequirement message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.AuthRequirement + * @static + * @param {google.api.AuthRequirement} message AuthRequirement + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthRequirement.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.providerId = ""; + object.audiences = ""; + } + if (message.providerId != null && message.hasOwnProperty("providerId")) + object.providerId = message.providerId; + if (message.audiences != null && message.hasOwnProperty("audiences")) + object.audiences = message.audiences; + return object; + }; + + /** + * Converts this AuthRequirement to JSON. + * @function toJSON + * @memberof google.api.AuthRequirement + * @instance + * @returns {Object.} JSON object + */ + AuthRequirement.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthRequirement + * @function getTypeUrl + * @memberof google.api.AuthRequirement + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthRequirement.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.AuthRequirement"; + }; + + return AuthRequirement; + })(); + + api.Documentation = (function() { + + /** + * Properties of a Documentation. + * @memberof google.api + * @interface IDocumentation + * @property {string|null} [summary] Documentation summary + * @property {Array.|null} [pages] Documentation pages + * @property {Array.|null} [rules] Documentation rules + * @property {string|null} [documentationRootUrl] Documentation documentationRootUrl + * @property {string|null} [serviceRootUrl] Documentation serviceRootUrl + * @property {string|null} [overview] Documentation overview + */ + + /** + * Constructs a new Documentation. + * @memberof google.api + * @classdesc Represents a Documentation. + * @implements IDocumentation + * @constructor + * @param {google.api.IDocumentation=} [properties] Properties to set + */ + function Documentation(properties) { + this.pages = []; + this.rules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Documentation summary. + * @member {string} summary + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.summary = ""; + + /** + * Documentation pages. + * @member {Array.} pages + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.pages = $util.emptyArray; + + /** + * Documentation rules. + * @member {Array.} rules + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.rules = $util.emptyArray; + + /** + * Documentation documentationRootUrl. + * @member {string} documentationRootUrl + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.documentationRootUrl = ""; + + /** + * Documentation serviceRootUrl. + * @member {string} serviceRootUrl + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.serviceRootUrl = ""; + + /** + * Documentation overview. + * @member {string} overview + * @memberof google.api.Documentation + * @instance + */ + Documentation.prototype.overview = ""; + + /** + * Creates a new Documentation instance using the specified properties. + * @function create + * @memberof google.api.Documentation + * @static + * @param {google.api.IDocumentation=} [properties] Properties to set + * @returns {google.api.Documentation} Documentation instance + */ + Documentation.create = function create(properties) { + return new Documentation(properties); + }; + + /** + * Encodes the specified Documentation message. Does not implicitly {@link google.api.Documentation.verify|verify} messages. + * @function encode + * @memberof google.api.Documentation + * @static + * @param {google.api.IDocumentation} message Documentation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documentation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.summary != null && Object.hasOwnProperty.call(message, "summary")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.summary); + if (message.overview != null && Object.hasOwnProperty.call(message, "overview")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.overview); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.DocumentationRule.encode(message.rules[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.documentationRootUrl != null && Object.hasOwnProperty.call(message, "documentationRootUrl")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.documentationRootUrl); + if (message.pages != null && message.pages.length) + for (var i = 0; i < message.pages.length; ++i) + $root.google.api.Page.encode(message.pages[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.serviceRootUrl != null && Object.hasOwnProperty.call(message, "serviceRootUrl")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.serviceRootUrl); + return writer; + }; + + /** + * Encodes the specified Documentation message, length delimited. Does not implicitly {@link google.api.Documentation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Documentation + * @static + * @param {google.api.IDocumentation} message Documentation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Documentation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Documentation message from the specified reader or buffer. + * @function decode + * @memberof google.api.Documentation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Documentation} Documentation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documentation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Documentation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.summary = reader.string(); + break; + } + case 5: { + if (!(message.pages && message.pages.length)) + message.pages = []; + message.pages.push($root.google.api.Page.decode(reader, reader.uint32())); + break; + } + case 3: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.DocumentationRule.decode(reader, reader.uint32())); + break; + } + case 4: { + message.documentationRootUrl = reader.string(); + break; + } + case 6: { + message.serviceRootUrl = reader.string(); + break; + } + case 2: { + message.overview = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Documentation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Documentation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Documentation} Documentation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Documentation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Documentation message. + * @function verify + * @memberof google.api.Documentation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Documentation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.summary != null && message.hasOwnProperty("summary")) + if (!$util.isString(message.summary)) + return "summary: string expected"; + if (message.pages != null && message.hasOwnProperty("pages")) { + if (!Array.isArray(message.pages)) + return "pages: array expected"; + for (var i = 0; i < message.pages.length; ++i) { + var error = $root.google.api.Page.verify(message.pages[i]); + if (error) + return "pages." + error; + } + } + 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.DocumentationRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.documentationRootUrl != null && message.hasOwnProperty("documentationRootUrl")) + if (!$util.isString(message.documentationRootUrl)) + return "documentationRootUrl: string expected"; + if (message.serviceRootUrl != null && message.hasOwnProperty("serviceRootUrl")) + if (!$util.isString(message.serviceRootUrl)) + return "serviceRootUrl: string expected"; + if (message.overview != null && message.hasOwnProperty("overview")) + if (!$util.isString(message.overview)) + return "overview: string expected"; + return null; + }; + + /** + * Creates a Documentation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Documentation + * @static + * @param {Object.} object Plain object + * @returns {google.api.Documentation} Documentation + */ + Documentation.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Documentation) + return object; + var message = new $root.google.api.Documentation(); + if (object.summary != null) + message.summary = String(object.summary); + if (object.pages) { + if (!Array.isArray(object.pages)) + throw TypeError(".google.api.Documentation.pages: array expected"); + message.pages = []; + for (var i = 0; i < object.pages.length; ++i) { + if (typeof object.pages[i] !== "object") + throw TypeError(".google.api.Documentation.pages: object expected"); + message.pages[i] = $root.google.api.Page.fromObject(object.pages[i]); + } + } + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Documentation.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Documentation.rules: object expected"); + message.rules[i] = $root.google.api.DocumentationRule.fromObject(object.rules[i]); + } + } + if (object.documentationRootUrl != null) + message.documentationRootUrl = String(object.documentationRootUrl); + if (object.serviceRootUrl != null) + message.serviceRootUrl = String(object.serviceRootUrl); + if (object.overview != null) + message.overview = String(object.overview); + return message; + }; + + /** + * Creates a plain object from a Documentation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Documentation + * @static + * @param {google.api.Documentation} message Documentation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Documentation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.rules = []; + object.pages = []; + } + if (options.defaults) { + object.summary = ""; + object.overview = ""; + object.documentationRootUrl = ""; + object.serviceRootUrl = ""; + } + if (message.summary != null && message.hasOwnProperty("summary")) + object.summary = message.summary; + if (message.overview != null && message.hasOwnProperty("overview")) + object.overview = message.overview; + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.DocumentationRule.toObject(message.rules[j], options); + } + if (message.documentationRootUrl != null && message.hasOwnProperty("documentationRootUrl")) + object.documentationRootUrl = message.documentationRootUrl; + if (message.pages && message.pages.length) { + object.pages = []; + for (var j = 0; j < message.pages.length; ++j) + object.pages[j] = $root.google.api.Page.toObject(message.pages[j], options); + } + if (message.serviceRootUrl != null && message.hasOwnProperty("serviceRootUrl")) + object.serviceRootUrl = message.serviceRootUrl; + return object; + }; + + /** + * Converts this Documentation to JSON. + * @function toJSON + * @memberof google.api.Documentation + * @instance + * @returns {Object.} JSON object + */ + Documentation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Documentation + * @function getTypeUrl + * @memberof google.api.Documentation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Documentation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Documentation"; + }; + + return Documentation; + })(); + + api.DocumentationRule = (function() { + + /** + * Properties of a DocumentationRule. + * @memberof google.api + * @interface IDocumentationRule + * @property {string|null} [selector] DocumentationRule selector + * @property {string|null} [description] DocumentationRule description + * @property {string|null} [deprecationDescription] DocumentationRule deprecationDescription + */ + + /** + * Constructs a new DocumentationRule. + * @memberof google.api + * @classdesc Represents a DocumentationRule. + * @implements IDocumentationRule + * @constructor + * @param {google.api.IDocumentationRule=} [properties] Properties to set + */ + function DocumentationRule(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DocumentationRule selector. + * @member {string} selector + * @memberof google.api.DocumentationRule + * @instance + */ + DocumentationRule.prototype.selector = ""; + + /** + * DocumentationRule description. + * @member {string} description + * @memberof google.api.DocumentationRule + * @instance + */ + DocumentationRule.prototype.description = ""; + + /** + * DocumentationRule deprecationDescription. + * @member {string} deprecationDescription + * @memberof google.api.DocumentationRule + * @instance + */ + DocumentationRule.prototype.deprecationDescription = ""; + + /** + * Creates a new DocumentationRule instance using the specified properties. + * @function create + * @memberof google.api.DocumentationRule + * @static + * @param {google.api.IDocumentationRule=} [properties] Properties to set + * @returns {google.api.DocumentationRule} DocumentationRule instance + */ + DocumentationRule.create = function create(properties) { + return new DocumentationRule(properties); + }; + + /** + * Encodes the specified DocumentationRule message. Does not implicitly {@link google.api.DocumentationRule.verify|verify} messages. + * @function encode + * @memberof google.api.DocumentationRule + * @static + * @param {google.api.IDocumentationRule} message DocumentationRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentationRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.deprecationDescription != null && Object.hasOwnProperty.call(message, "deprecationDescription")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.deprecationDescription); + return writer; + }; + + /** + * Encodes the specified DocumentationRule message, length delimited. Does not implicitly {@link google.api.DocumentationRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.DocumentationRule + * @static + * @param {google.api.IDocumentationRule} message DocumentationRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DocumentationRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DocumentationRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.DocumentationRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.DocumentationRule} DocumentationRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentationRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.DocumentationRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.deprecationDescription = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DocumentationRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.DocumentationRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.DocumentationRule} DocumentationRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DocumentationRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DocumentationRule message. + * @function verify + * @memberof google.api.DocumentationRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DocumentationRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.deprecationDescription != null && message.hasOwnProperty("deprecationDescription")) + if (!$util.isString(message.deprecationDescription)) + return "deprecationDescription: string expected"; + return null; + }; + + /** + * Creates a DocumentationRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.DocumentationRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.DocumentationRule} DocumentationRule + */ + DocumentationRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.DocumentationRule) + return object; + var message = new $root.google.api.DocumentationRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.description != null) + message.description = String(object.description); + if (object.deprecationDescription != null) + message.deprecationDescription = String(object.deprecationDescription); + return message; + }; + + /** + * Creates a plain object from a DocumentationRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.DocumentationRule + * @static + * @param {google.api.DocumentationRule} message DocumentationRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DocumentationRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.selector = ""; + object.description = ""; + object.deprecationDescription = ""; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.deprecationDescription != null && message.hasOwnProperty("deprecationDescription")) + object.deprecationDescription = message.deprecationDescription; + return object; + }; + + /** + * Converts this DocumentationRule to JSON. + * @function toJSON + * @memberof google.api.DocumentationRule + * @instance + * @returns {Object.} JSON object + */ + DocumentationRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DocumentationRule + * @function getTypeUrl + * @memberof google.api.DocumentationRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DocumentationRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.DocumentationRule"; + }; + + return DocumentationRule; + })(); + + api.Page = (function() { + + /** + * Properties of a Page. + * @memberof google.api + * @interface IPage + * @property {string|null} [name] Page name + * @property {string|null} [content] Page content + * @property {Array.|null} [subpages] Page subpages + */ + + /** + * Constructs a new Page. + * @memberof google.api + * @classdesc Represents a Page. + * @implements IPage + * @constructor + * @param {google.api.IPage=} [properties] Properties to set + */ + function Page(properties) { + this.subpages = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Page name. + * @member {string} name + * @memberof google.api.Page + * @instance + */ + Page.prototype.name = ""; + + /** + * Page content. + * @member {string} content + * @memberof google.api.Page + * @instance + */ + Page.prototype.content = ""; + + /** + * Page subpages. + * @member {Array.} subpages + * @memberof google.api.Page + * @instance + */ + Page.prototype.subpages = $util.emptyArray; + + /** + * Creates a new Page instance using the specified properties. + * @function create + * @memberof google.api.Page + * @static + * @param {google.api.IPage=} [properties] Properties to set + * @returns {google.api.Page} Page instance + */ + Page.create = function create(properties) { + return new Page(properties); + }; + + /** + * Encodes the specified Page message. Does not implicitly {@link google.api.Page.verify|verify} messages. + * @function encode + * @memberof google.api.Page + * @static + * @param {google.api.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.content != null && Object.hasOwnProperty.call(message, "content")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.content); + if (message.subpages != null && message.subpages.length) + for (var i = 0; i < message.subpages.length; ++i) + $root.google.api.Page.encode(message.subpages[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Page message, length delimited. Does not implicitly {@link google.api.Page.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Page + * @static + * @param {google.api.IPage} message Page message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Page.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Page message from the specified reader or buffer. + * @function decode + * @memberof google.api.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Page(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.content = reader.string(); + break; + } + case 3: { + if (!(message.subpages && message.subpages.length)) + message.subpages = []; + message.subpages.push($root.google.api.Page.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Page message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Page + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Page} Page + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Page.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Page message. + * @function verify + * @memberof google.api.Page + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Page.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.content != null && message.hasOwnProperty("content")) + if (!$util.isString(message.content)) + return "content: string expected"; + if (message.subpages != null && message.hasOwnProperty("subpages")) { + if (!Array.isArray(message.subpages)) + return "subpages: array expected"; + for (var i = 0; i < message.subpages.length; ++i) { + var error = $root.google.api.Page.verify(message.subpages[i]); + if (error) + return "subpages." + error; + } + } + return null; + }; + + /** + * Creates a Page message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Page + * @static + * @param {Object.} object Plain object + * @returns {google.api.Page} Page + */ + Page.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Page) + return object; + var message = new $root.google.api.Page(); + if (object.name != null) + message.name = String(object.name); + if (object.content != null) + message.content = String(object.content); + if (object.subpages) { + if (!Array.isArray(object.subpages)) + throw TypeError(".google.api.Page.subpages: array expected"); + message.subpages = []; + for (var i = 0; i < object.subpages.length; ++i) { + if (typeof object.subpages[i] !== "object") + throw TypeError(".google.api.Page.subpages: object expected"); + message.subpages[i] = $root.google.api.Page.fromObject(object.subpages[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Page message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Page + * @static + * @param {google.api.Page} message Page + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Page.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.subpages = []; + if (options.defaults) { + object.name = ""; + object.content = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.content != null && message.hasOwnProperty("content")) + object.content = message.content; + if (message.subpages && message.subpages.length) { + object.subpages = []; + for (var j = 0; j < message.subpages.length; ++j) + object.subpages[j] = $root.google.api.Page.toObject(message.subpages[j], options); + } + return object; + }; + + /** + * Converts this Page to JSON. + * @function toJSON + * @memberof google.api.Page + * @instance + * @returns {Object.} JSON object + */ + Page.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Page + * @function getTypeUrl + * @memberof google.api.Page + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Page.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Page"; + }; + + return Page; + })(); + + api.Endpoint = (function() { + + /** + * Properties of an Endpoint. + * @memberof google.api + * @interface IEndpoint + * @property {string|null} [name] Endpoint name + * @property {Array.|null} [aliases] Endpoint aliases + * @property {string|null} [target] Endpoint target + * @property {boolean|null} [allowCors] Endpoint allowCors + */ + + /** + * Constructs a new Endpoint. + * @memberof google.api + * @classdesc Represents an Endpoint. + * @implements IEndpoint + * @constructor + * @param {google.api.IEndpoint=} [properties] Properties to set + */ + function Endpoint(properties) { + this.aliases = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Endpoint name. + * @member {string} name + * @memberof google.api.Endpoint + * @instance + */ + Endpoint.prototype.name = ""; + + /** + * Endpoint aliases. + * @member {Array.} aliases + * @memberof google.api.Endpoint + * @instance + */ + Endpoint.prototype.aliases = $util.emptyArray; + + /** + * Endpoint target. + * @member {string} target + * @memberof google.api.Endpoint + * @instance + */ + Endpoint.prototype.target = ""; + + /** + * Endpoint allowCors. + * @member {boolean} allowCors + * @memberof google.api.Endpoint + * @instance + */ + Endpoint.prototype.allowCors = false; + + /** + * Creates a new Endpoint instance using the specified properties. + * @function create + * @memberof google.api.Endpoint + * @static + * @param {google.api.IEndpoint=} [properties] Properties to set + * @returns {google.api.Endpoint} Endpoint instance + */ + Endpoint.create = function create(properties) { + return new Endpoint(properties); + }; + + /** + * Encodes the specified Endpoint message. Does not implicitly {@link google.api.Endpoint.verify|verify} messages. + * @function encode + * @memberof google.api.Endpoint + * @static + * @param {google.api.IEndpoint} message Endpoint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Endpoint.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.aliases != null && message.aliases.length) + for (var i = 0; i < message.aliases.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.aliases[i]); + if (message.allowCors != null && Object.hasOwnProperty.call(message, "allowCors")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.allowCors); + if (message.target != null && Object.hasOwnProperty.call(message, "target")) + writer.uint32(/* id 101, wireType 2 =*/810).string(message.target); + return writer; + }; + + /** + * Encodes the specified Endpoint message, length delimited. Does not implicitly {@link google.api.Endpoint.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Endpoint + * @static + * @param {google.api.IEndpoint} message Endpoint message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Endpoint.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Endpoint message from the specified reader or buffer. + * @function decode + * @memberof google.api.Endpoint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Endpoint} Endpoint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Endpoint.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Endpoint(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + if (!(message.aliases && message.aliases.length)) + message.aliases = []; + message.aliases.push(reader.string()); + break; + } + case 101: { + message.target = reader.string(); + break; + } + case 5: { + message.allowCors = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Endpoint message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Endpoint + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Endpoint} Endpoint + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Endpoint.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Endpoint message. + * @function verify + * @memberof google.api.Endpoint + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Endpoint.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.aliases != null && message.hasOwnProperty("aliases")) { + if (!Array.isArray(message.aliases)) + return "aliases: array expected"; + for (var i = 0; i < message.aliases.length; ++i) + if (!$util.isString(message.aliases[i])) + return "aliases: string[] expected"; + } + if (message.target != null && message.hasOwnProperty("target")) + if (!$util.isString(message.target)) + return "target: string expected"; + if (message.allowCors != null && message.hasOwnProperty("allowCors")) + if (typeof message.allowCors !== "boolean") + return "allowCors: boolean expected"; + return null; + }; + + /** + * Creates an Endpoint message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Endpoint + * @static + * @param {Object.} object Plain object + * @returns {google.api.Endpoint} Endpoint + */ + Endpoint.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Endpoint) + return object; + var message = new $root.google.api.Endpoint(); + if (object.name != null) + message.name = String(object.name); + if (object.aliases) { + if (!Array.isArray(object.aliases)) + throw TypeError(".google.api.Endpoint.aliases: array expected"); + message.aliases = []; + for (var i = 0; i < object.aliases.length; ++i) + message.aliases[i] = String(object.aliases[i]); + } + if (object.target != null) + message.target = String(object.target); + if (object.allowCors != null) + message.allowCors = Boolean(object.allowCors); + return message; + }; + + /** + * Creates a plain object from an Endpoint message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Endpoint + * @static + * @param {google.api.Endpoint} message Endpoint + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Endpoint.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.aliases = []; + if (options.defaults) { + object.name = ""; + object.allowCors = false; + object.target = ""; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.aliases && message.aliases.length) { + object.aliases = []; + for (var j = 0; j < message.aliases.length; ++j) + object.aliases[j] = message.aliases[j]; + } + if (message.allowCors != null && message.hasOwnProperty("allowCors")) + object.allowCors = message.allowCors; + if (message.target != null && message.hasOwnProperty("target")) + object.target = message.target; + return object; + }; + + /** + * Converts this Endpoint to JSON. + * @function toJSON + * @memberof google.api.Endpoint + * @instance + * @returns {Object.} JSON object + */ + Endpoint.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Endpoint + * @function getTypeUrl + * @memberof google.api.Endpoint + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Endpoint.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Endpoint"; + }; + + return Endpoint; + })(); + + api.MonitoredResourceDescriptor = (function() { + + /** + * Properties of a MonitoredResourceDescriptor. + * @memberof google.api + * @interface IMonitoredResourceDescriptor + * @property {string|null} [name] MonitoredResourceDescriptor name + * @property {string|null} [type] MonitoredResourceDescriptor type + * @property {string|null} [displayName] MonitoredResourceDescriptor displayName + * @property {string|null} [description] MonitoredResourceDescriptor description + * @property {Array.|null} [labels] MonitoredResourceDescriptor labels + * @property {google.api.LaunchStage|null} [launchStage] MonitoredResourceDescriptor launchStage + */ + + /** + * Constructs a new MonitoredResourceDescriptor. + * @memberof google.api + * @classdesc Represents a MonitoredResourceDescriptor. + * @implements IMonitoredResourceDescriptor + * @constructor + * @param {google.api.IMonitoredResourceDescriptor=} [properties] Properties to set + */ + function MonitoredResourceDescriptor(properties) { + this.labels = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MonitoredResourceDescriptor name. + * @member {string} name + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.name = ""; + + /** + * MonitoredResourceDescriptor type. + * @member {string} type + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.type = ""; + + /** + * MonitoredResourceDescriptor displayName. + * @member {string} displayName + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.displayName = ""; + + /** + * MonitoredResourceDescriptor description. + * @member {string} description + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.description = ""; + + /** + * MonitoredResourceDescriptor labels. + * @member {Array.} labels + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.labels = $util.emptyArray; + + /** + * MonitoredResourceDescriptor launchStage. + * @member {google.api.LaunchStage} launchStage + * @memberof google.api.MonitoredResourceDescriptor + * @instance + */ + MonitoredResourceDescriptor.prototype.launchStage = 0; + + /** + * Creates a new MonitoredResourceDescriptor instance using the specified properties. + * @function create + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {google.api.IMonitoredResourceDescriptor=} [properties] Properties to set + * @returns {google.api.MonitoredResourceDescriptor} MonitoredResourceDescriptor instance + */ + MonitoredResourceDescriptor.create = function create(properties) { + return new MonitoredResourceDescriptor(properties); + }; + + /** + * Encodes the specified MonitoredResourceDescriptor message. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {google.api.IMonitoredResourceDescriptor} message MonitoredResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResourceDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + if (message.labels != null && message.labels.length) + for (var i = 0; i < message.labels.length; ++i) + $root.google.api.LabelDescriptor.encode(message.labels[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.name); + if (message.launchStage != null && Object.hasOwnProperty.call(message, "launchStage")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.launchStage); + return writer; + }; + + /** + * Encodes the specified MonitoredResourceDescriptor message, length delimited. Does not implicitly {@link google.api.MonitoredResourceDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {google.api.IMonitoredResourceDescriptor} message MonitoredResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MonitoredResourceDescriptor} MonitoredResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResourceDescriptor.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResourceDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 5: { + message.name = reader.string(); + break; + } + case 1: { + message.type = reader.string(); + break; + } + case 2: { + message.displayName = reader.string(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + case 4: { + if (!(message.labels && message.labels.length)) + message.labels = []; + message.labels.push($root.google.api.LabelDescriptor.decode(reader, reader.uint32())); + break; + } + case 7: { + message.launchStage = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MonitoredResourceDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MonitoredResourceDescriptor} MonitoredResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MonitoredResourceDescriptor message. + * @function verify + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MonitoredResourceDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!Array.isArray(message.labels)) + return "labels: array expected"; + for (var i = 0; i < message.labels.length; ++i) { + var error = $root.google.api.LabelDescriptor.verify(message.labels[i]); + if (error) + return "labels." + error; + } + } + if (message.launchStage != null && message.hasOwnProperty("launchStage")) + switch (message.launchStage) { + default: + return "launchStage: enum value expected"; + case 0: + case 6: + case 7: + case 1: + case 2: + case 3: + case 4: + case 5: + break; + } + return null; + }; + + /** + * Creates a MonitoredResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.MonitoredResourceDescriptor} MonitoredResourceDescriptor + */ + MonitoredResourceDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MonitoredResourceDescriptor) + return object; + var message = new $root.google.api.MonitoredResourceDescriptor(); + if (object.name != null) + message.name = String(object.name); + if (object.type != null) + message.type = String(object.type); + if (object.displayName != null) + message.displayName = String(object.displayName); + if (object.description != null) + message.description = String(object.description); + if (object.labels) { + if (!Array.isArray(object.labels)) + throw TypeError(".google.api.MonitoredResourceDescriptor.labels: array expected"); + message.labels = []; + for (var i = 0; i < object.labels.length; ++i) { + if (typeof object.labels[i] !== "object") + throw TypeError(".google.api.MonitoredResourceDescriptor.labels: object expected"); + message.labels[i] = $root.google.api.LabelDescriptor.fromObject(object.labels[i]); + } + } + switch (object.launchStage) { + default: + if (typeof object.launchStage === "number") { + message.launchStage = object.launchStage; + break; + } + break; + case "LAUNCH_STAGE_UNSPECIFIED": + case 0: + message.launchStage = 0; + break; + case "UNIMPLEMENTED": + case 6: + message.launchStage = 6; + break; + case "PRELAUNCH": + case 7: + message.launchStage = 7; + break; + case "EARLY_ACCESS": + case 1: + message.launchStage = 1; + break; + case "ALPHA": + case 2: + message.launchStage = 2; + break; + case "BETA": + case 3: + message.launchStage = 3; + break; + case "GA": + case 4: + message.launchStage = 4; + break; + case "DEPRECATED": + case 5: + message.launchStage = 5; + break; + } + return message; + }; + + /** + * Creates a plain object from a MonitoredResourceDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {google.api.MonitoredResourceDescriptor} message MonitoredResourceDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MonitoredResourceDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.labels = []; + if (options.defaults) { + object.type = ""; + object.displayName = ""; + object.description = ""; + object.name = ""; + object.launchStage = options.enums === String ? "LAUNCH_STAGE_UNSPECIFIED" : 0; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.labels && message.labels.length) { + object.labels = []; + for (var j = 0; j < message.labels.length; ++j) + object.labels[j] = $root.google.api.LabelDescriptor.toObject(message.labels[j], options); + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.launchStage != null && message.hasOwnProperty("launchStage")) + object.launchStage = options.enums === String ? $root.google.api.LaunchStage[message.launchStage] === undefined ? message.launchStage : $root.google.api.LaunchStage[message.launchStage] : message.launchStage; + return object; + }; + + /** + * Converts this MonitoredResourceDescriptor to JSON. + * @function toJSON + * @memberof google.api.MonitoredResourceDescriptor + * @instance + * @returns {Object.} JSON object + */ + MonitoredResourceDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MonitoredResourceDescriptor + * @function getTypeUrl + * @memberof google.api.MonitoredResourceDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MonitoredResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MonitoredResourceDescriptor"; + }; + + return MonitoredResourceDescriptor; + })(); + + api.MonitoredResource = (function() { + + /** + * Properties of a MonitoredResource. + * @memberof google.api + * @interface IMonitoredResource + * @property {string|null} [type] MonitoredResource type + * @property {Object.|null} [labels] MonitoredResource labels + */ + + /** + * Constructs a new MonitoredResource. + * @memberof google.api + * @classdesc Represents a MonitoredResource. + * @implements IMonitoredResource + * @constructor + * @param {google.api.IMonitoredResource=} [properties] Properties to set + */ + function MonitoredResource(properties) { + this.labels = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MonitoredResource type. + * @member {string} type + * @memberof google.api.MonitoredResource + * @instance + */ + MonitoredResource.prototype.type = ""; + + /** + * MonitoredResource labels. + * @member {Object.} labels + * @memberof google.api.MonitoredResource + * @instance + */ + MonitoredResource.prototype.labels = $util.emptyObject; + + /** + * Creates a new MonitoredResource instance using the specified properties. + * @function create + * @memberof google.api.MonitoredResource + * @static + * @param {google.api.IMonitoredResource=} [properties] Properties to set + * @returns {google.api.MonitoredResource} MonitoredResource instance + */ + MonitoredResource.create = function create(properties) { + return new MonitoredResource(properties); + }; + + /** + * Encodes the specified MonitoredResource message. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages. + * @function encode + * @memberof google.api.MonitoredResource + * @static + * @param {google.api.IMonitoredResource} message MonitoredResource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResource.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + for (var keys = Object.keys(message.labels), 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.labels[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified MonitoredResource message, length delimited. Does not implicitly {@link google.api.MonitoredResource.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MonitoredResource + * @static + * @param {google.api.IMonitoredResource} message MonitoredResource message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResource.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MonitoredResource message from the specified reader or buffer. + * @function decode + * @memberof google.api.MonitoredResource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MonitoredResource} MonitoredResource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResource.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResource(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type = reader.string(); + break; + } + case 2: { + if (message.labels === $util.emptyObject) + message.labels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.labels[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MonitoredResource message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MonitoredResource + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MonitoredResource} MonitoredResource + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResource.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MonitoredResource message. + * @function verify + * @memberof google.api.MonitoredResource + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MonitoredResource.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!$util.isObject(message.labels)) + return "labels: object expected"; + var key = Object.keys(message.labels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.labels[key[i]])) + return "labels: string{k:string} expected"; + } + return null; + }; + + /** + * Creates a MonitoredResource message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MonitoredResource + * @static + * @param {Object.} object Plain object + * @returns {google.api.MonitoredResource} MonitoredResource + */ + MonitoredResource.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MonitoredResource) + return object; + var message = new $root.google.api.MonitoredResource(); + if (object.type != null) + message.type = String(object.type); + if (object.labels) { + if (typeof object.labels !== "object") + throw TypeError(".google.api.MonitoredResource.labels: object expected"); + message.labels = {}; + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + message.labels[keys[i]] = String(object.labels[keys[i]]); + } + return message; + }; + + /** + * Creates a plain object from a MonitoredResource message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MonitoredResource + * @static + * @param {google.api.MonitoredResource} message MonitoredResource + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MonitoredResource.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.labels = {}; + if (options.defaults) + object.type = ""; + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + var keys2; + if (message.labels && (keys2 = Object.keys(message.labels)).length) { + object.labels = {}; + for (var j = 0; j < keys2.length; ++j) + object.labels[keys2[j]] = message.labels[keys2[j]]; + } + return object; + }; + + /** + * Converts this MonitoredResource to JSON. + * @function toJSON + * @memberof google.api.MonitoredResource + * @instance + * @returns {Object.} JSON object + */ + MonitoredResource.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MonitoredResource + * @function getTypeUrl + * @memberof google.api.MonitoredResource + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MonitoredResource.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MonitoredResource"; + }; + + return MonitoredResource; + })(); + + api.MonitoredResourceMetadata = (function() { + + /** + * Properties of a MonitoredResourceMetadata. + * @memberof google.api + * @interface IMonitoredResourceMetadata + * @property {google.protobuf.IStruct|null} [systemLabels] MonitoredResourceMetadata systemLabels + * @property {Object.|null} [userLabels] MonitoredResourceMetadata userLabels + */ + + /** + * Constructs a new MonitoredResourceMetadata. + * @memberof google.api + * @classdesc Represents a MonitoredResourceMetadata. + * @implements IMonitoredResourceMetadata + * @constructor + * @param {google.api.IMonitoredResourceMetadata=} [properties] Properties to set + */ + function MonitoredResourceMetadata(properties) { + this.userLabels = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MonitoredResourceMetadata systemLabels. + * @member {google.protobuf.IStruct|null|undefined} systemLabels + * @memberof google.api.MonitoredResourceMetadata + * @instance + */ + MonitoredResourceMetadata.prototype.systemLabels = null; + + /** + * MonitoredResourceMetadata userLabels. + * @member {Object.} userLabels + * @memberof google.api.MonitoredResourceMetadata + * @instance + */ + MonitoredResourceMetadata.prototype.userLabels = $util.emptyObject; + + /** + * Creates a new MonitoredResourceMetadata instance using the specified properties. + * @function create + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {google.api.IMonitoredResourceMetadata=} [properties] Properties to set + * @returns {google.api.MonitoredResourceMetadata} MonitoredResourceMetadata instance + */ + MonitoredResourceMetadata.create = function create(properties) { + return new MonitoredResourceMetadata(properties); + }; + + /** + * Encodes the specified MonitoredResourceMetadata message. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages. + * @function encode + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {google.api.IMonitoredResourceMetadata} message MonitoredResourceMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResourceMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.systemLabels != null && Object.hasOwnProperty.call(message, "systemLabels")) + $root.google.protobuf.Struct.encode(message.systemLabels, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.userLabels != null && Object.hasOwnProperty.call(message, "userLabels")) + for (var keys = Object.keys(message.userLabels), 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.userLabels[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified MonitoredResourceMetadata message, length delimited. Does not implicitly {@link google.api.MonitoredResourceMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {google.api.IMonitoredResourceMetadata} message MonitoredResourceMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoredResourceMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MonitoredResourceMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MonitoredResourceMetadata} MonitoredResourceMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResourceMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MonitoredResourceMetadata(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.systemLabels = $root.google.protobuf.Struct.decode(reader, reader.uint32()); + break; + } + case 2: { + if (message.userLabels === $util.emptyObject) + message.userLabels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.userLabels[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MonitoredResourceMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MonitoredResourceMetadata} MonitoredResourceMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoredResourceMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MonitoredResourceMetadata message. + * @function verify + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MonitoredResourceMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.systemLabels != null && message.hasOwnProperty("systemLabels")) { + var error = $root.google.protobuf.Struct.verify(message.systemLabels); + if (error) + return "systemLabels." + error; + } + if (message.userLabels != null && message.hasOwnProperty("userLabels")) { + if (!$util.isObject(message.userLabels)) + return "userLabels: object expected"; + var key = Object.keys(message.userLabels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.userLabels[key[i]])) + return "userLabels: string{k:string} expected"; + } + return null; + }; + + /** + * Creates a MonitoredResourceMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.api.MonitoredResourceMetadata} MonitoredResourceMetadata + */ + MonitoredResourceMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MonitoredResourceMetadata) + return object; + var message = new $root.google.api.MonitoredResourceMetadata(); + if (object.systemLabels != null) { + if (typeof object.systemLabels !== "object") + throw TypeError(".google.api.MonitoredResourceMetadata.systemLabels: object expected"); + message.systemLabels = $root.google.protobuf.Struct.fromObject(object.systemLabels); + } + if (object.userLabels) { + if (typeof object.userLabels !== "object") + throw TypeError(".google.api.MonitoredResourceMetadata.userLabels: object expected"); + message.userLabels = {}; + for (var keys = Object.keys(object.userLabels), i = 0; i < keys.length; ++i) + message.userLabels[keys[i]] = String(object.userLabels[keys[i]]); + } + return message; + }; + + /** + * Creates a plain object from a MonitoredResourceMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {google.api.MonitoredResourceMetadata} message MonitoredResourceMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MonitoredResourceMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.userLabels = {}; + if (options.defaults) + object.systemLabels = null; + if (message.systemLabels != null && message.hasOwnProperty("systemLabels")) + object.systemLabels = $root.google.protobuf.Struct.toObject(message.systemLabels, options); + var keys2; + if (message.userLabels && (keys2 = Object.keys(message.userLabels)).length) { + object.userLabels = {}; + for (var j = 0; j < keys2.length; ++j) + object.userLabels[keys2[j]] = message.userLabels[keys2[j]]; + } + return object; + }; + + /** + * Converts this MonitoredResourceMetadata to JSON. + * @function toJSON + * @memberof google.api.MonitoredResourceMetadata + * @instance + * @returns {Object.} JSON object + */ + MonitoredResourceMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MonitoredResourceMetadata + * @function getTypeUrl + * @memberof google.api.MonitoredResourceMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MonitoredResourceMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MonitoredResourceMetadata"; + }; + + return MonitoredResourceMetadata; + })(); + + api.LabelDescriptor = (function() { + + /** + * Properties of a LabelDescriptor. + * @memberof google.api + * @interface ILabelDescriptor + * @property {string|null} [key] LabelDescriptor key + * @property {google.api.LabelDescriptor.ValueType|null} [valueType] LabelDescriptor valueType + * @property {string|null} [description] LabelDescriptor description + */ + + /** + * Constructs a new LabelDescriptor. + * @memberof google.api + * @classdesc Represents a LabelDescriptor. + * @implements ILabelDescriptor + * @constructor + * @param {google.api.ILabelDescriptor=} [properties] Properties to set + */ + function LabelDescriptor(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * LabelDescriptor key. + * @member {string} key + * @memberof google.api.LabelDescriptor + * @instance + */ + LabelDescriptor.prototype.key = ""; + + /** + * LabelDescriptor valueType. + * @member {google.api.LabelDescriptor.ValueType} valueType + * @memberof google.api.LabelDescriptor + * @instance + */ + LabelDescriptor.prototype.valueType = 0; + + /** + * LabelDescriptor description. + * @member {string} description + * @memberof google.api.LabelDescriptor + * @instance + */ + LabelDescriptor.prototype.description = ""; + + /** + * Creates a new LabelDescriptor instance using the specified properties. + * @function create + * @memberof google.api.LabelDescriptor + * @static + * @param {google.api.ILabelDescriptor=} [properties] Properties to set + * @returns {google.api.LabelDescriptor} LabelDescriptor instance + */ + LabelDescriptor.create = function create(properties) { + return new LabelDescriptor(properties); + }; + + /** + * Encodes the specified LabelDescriptor message. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.LabelDescriptor + * @static + * @param {google.api.ILabelDescriptor} message LabelDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.key != null && Object.hasOwnProperty.call(message, "key")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.key); + if (message.valueType != null && Object.hasOwnProperty.call(message, "valueType")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.valueType); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.description); + return writer; + }; + + /** + * Encodes the specified LabelDescriptor message, length delimited. Does not implicitly {@link google.api.LabelDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.LabelDescriptor + * @static + * @param {google.api.ILabelDescriptor} message LabelDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + LabelDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a LabelDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.LabelDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.LabelDescriptor} LabelDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDescriptor.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.LabelDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.key = reader.string(); + break; + } + case 2: { + message.valueType = reader.int32(); + break; + } + case 3: { + message.description = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a LabelDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.LabelDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.LabelDescriptor} LabelDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + LabelDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a LabelDescriptor message. + * @function verify + * @memberof google.api.LabelDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + LabelDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.key != null && message.hasOwnProperty("key")) + if (!$util.isString(message.key)) + return "key: string expected"; + if (message.valueType != null && message.hasOwnProperty("valueType")) + switch (message.valueType) { + default: + return "valueType: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + return null; + }; + + /** + * Creates a LabelDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.LabelDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.LabelDescriptor} LabelDescriptor + */ + LabelDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.LabelDescriptor) + return object; + var message = new $root.google.api.LabelDescriptor(); + if (object.key != null) + message.key = String(object.key); + switch (object.valueType) { + default: + if (typeof object.valueType === "number") { + message.valueType = object.valueType; + break; + } + break; + case "STRING": + case 0: + message.valueType = 0; + break; + case "BOOL": + case 1: + message.valueType = 1; + break; + case "INT64": + case 2: + message.valueType = 2; + break; + } + if (object.description != null) + message.description = String(object.description); + return message; + }; + + /** + * Creates a plain object from a LabelDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.LabelDescriptor + * @static + * @param {google.api.LabelDescriptor} message LabelDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + LabelDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.key = ""; + object.valueType = options.enums === String ? "STRING" : 0; + object.description = ""; + } + if (message.key != null && message.hasOwnProperty("key")) + object.key = message.key; + if (message.valueType != null && message.hasOwnProperty("valueType")) + object.valueType = options.enums === String ? $root.google.api.LabelDescriptor.ValueType[message.valueType] === undefined ? message.valueType : $root.google.api.LabelDescriptor.ValueType[message.valueType] : message.valueType; + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + return object; + }; + + /** + * Converts this LabelDescriptor to JSON. + * @function toJSON + * @memberof google.api.LabelDescriptor + * @instance + * @returns {Object.} JSON object + */ + LabelDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for LabelDescriptor + * @function getTypeUrl + * @memberof google.api.LabelDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + LabelDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.LabelDescriptor"; + }; + + /** + * ValueType enum. + * @name google.api.LabelDescriptor.ValueType + * @enum {number} + * @property {number} STRING=0 STRING value + * @property {number} BOOL=1 BOOL value + * @property {number} INT64=2 INT64 value + */ + LabelDescriptor.ValueType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STRING"] = 0; + values[valuesById[1] = "BOOL"] = 1; + values[valuesById[2] = "INT64"] = 2; + return values; + })(); + + return LabelDescriptor; + })(); + + /** + * LaunchStage enum. + * @name google.api.LaunchStage + * @enum {number} + * @property {number} LAUNCH_STAGE_UNSPECIFIED=0 LAUNCH_STAGE_UNSPECIFIED value + * @property {number} UNIMPLEMENTED=6 UNIMPLEMENTED value + * @property {number} PRELAUNCH=7 PRELAUNCH value + * @property {number} EARLY_ACCESS=1 EARLY_ACCESS value + * @property {number} ALPHA=2 ALPHA value + * @property {number} BETA=3 BETA value + * @property {number} GA=4 GA value + * @property {number} DEPRECATED=5 DEPRECATED value + */ + api.LaunchStage = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "LAUNCH_STAGE_UNSPECIFIED"] = 0; + values[valuesById[6] = "UNIMPLEMENTED"] = 6; + values[valuesById[7] = "PRELAUNCH"] = 7; + values[valuesById[1] = "EARLY_ACCESS"] = 1; + values[valuesById[2] = "ALPHA"] = 2; + values[valuesById[3] = "BETA"] = 3; + values[valuesById[4] = "GA"] = 4; + values[valuesById[5] = "DEPRECATED"] = 5; + return values; + })(); + + api.Monitoring = (function() { + + /** + * Properties of a Monitoring. + * @memberof google.api + * @interface IMonitoring + * @property {Array.|null} [producerDestinations] Monitoring producerDestinations + * @property {Array.|null} [consumerDestinations] Monitoring consumerDestinations + */ + + /** + * Constructs a new Monitoring. + * @memberof google.api + * @classdesc Represents a Monitoring. + * @implements IMonitoring + * @constructor + * @param {google.api.IMonitoring=} [properties] Properties to set + */ + function Monitoring(properties) { + this.producerDestinations = []; + this.consumerDestinations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Monitoring producerDestinations. + * @member {Array.} producerDestinations + * @memberof google.api.Monitoring + * @instance + */ + Monitoring.prototype.producerDestinations = $util.emptyArray; + + /** + * Monitoring consumerDestinations. + * @member {Array.} consumerDestinations + * @memberof google.api.Monitoring + * @instance + */ + Monitoring.prototype.consumerDestinations = $util.emptyArray; + + /** + * Creates a new Monitoring instance using the specified properties. + * @function create + * @memberof google.api.Monitoring + * @static + * @param {google.api.IMonitoring=} [properties] Properties to set + * @returns {google.api.Monitoring} Monitoring instance + */ + Monitoring.create = function create(properties) { + return new Monitoring(properties); + }; + + /** + * Encodes the specified Monitoring message. Does not implicitly {@link google.api.Monitoring.verify|verify} messages. + * @function encode + * @memberof google.api.Monitoring + * @static + * @param {google.api.IMonitoring} message Monitoring message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Monitoring.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.producerDestinations != null && message.producerDestinations.length) + for (var i = 0; i < message.producerDestinations.length; ++i) + $root.google.api.Monitoring.MonitoringDestination.encode(message.producerDestinations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.consumerDestinations != null && message.consumerDestinations.length) + for (var i = 0; i < message.consumerDestinations.length; ++i) + $root.google.api.Monitoring.MonitoringDestination.encode(message.consumerDestinations[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Monitoring message, length delimited. Does not implicitly {@link google.api.Monitoring.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Monitoring + * @static + * @param {google.api.IMonitoring} message Monitoring message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Monitoring.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Monitoring message from the specified reader or buffer. + * @function decode + * @memberof google.api.Monitoring + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Monitoring} Monitoring + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Monitoring.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Monitoring(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.producerDestinations && message.producerDestinations.length)) + message.producerDestinations = []; + message.producerDestinations.push($root.google.api.Monitoring.MonitoringDestination.decode(reader, reader.uint32())); + break; + } + case 2: { + if (!(message.consumerDestinations && message.consumerDestinations.length)) + message.consumerDestinations = []; + message.consumerDestinations.push($root.google.api.Monitoring.MonitoringDestination.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Monitoring message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Monitoring + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Monitoring} Monitoring + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Monitoring.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Monitoring message. + * @function verify + * @memberof google.api.Monitoring + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Monitoring.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.producerDestinations != null && message.hasOwnProperty("producerDestinations")) { + if (!Array.isArray(message.producerDestinations)) + return "producerDestinations: array expected"; + for (var i = 0; i < message.producerDestinations.length; ++i) { + var error = $root.google.api.Monitoring.MonitoringDestination.verify(message.producerDestinations[i]); + if (error) + return "producerDestinations." + error; + } + } + if (message.consumerDestinations != null && message.hasOwnProperty("consumerDestinations")) { + if (!Array.isArray(message.consumerDestinations)) + return "consumerDestinations: array expected"; + for (var i = 0; i < message.consumerDestinations.length; ++i) { + var error = $root.google.api.Monitoring.MonitoringDestination.verify(message.consumerDestinations[i]); + if (error) + return "consumerDestinations." + error; + } + } + return null; + }; + + /** + * Creates a Monitoring message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Monitoring + * @static + * @param {Object.} object Plain object + * @returns {google.api.Monitoring} Monitoring + */ + Monitoring.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Monitoring) + return object; + var message = new $root.google.api.Monitoring(); + if (object.producerDestinations) { + if (!Array.isArray(object.producerDestinations)) + throw TypeError(".google.api.Monitoring.producerDestinations: array expected"); + message.producerDestinations = []; + for (var i = 0; i < object.producerDestinations.length; ++i) { + if (typeof object.producerDestinations[i] !== "object") + throw TypeError(".google.api.Monitoring.producerDestinations: object expected"); + message.producerDestinations[i] = $root.google.api.Monitoring.MonitoringDestination.fromObject(object.producerDestinations[i]); + } + } + if (object.consumerDestinations) { + if (!Array.isArray(object.consumerDestinations)) + throw TypeError(".google.api.Monitoring.consumerDestinations: array expected"); + message.consumerDestinations = []; + for (var i = 0; i < object.consumerDestinations.length; ++i) { + if (typeof object.consumerDestinations[i] !== "object") + throw TypeError(".google.api.Monitoring.consumerDestinations: object expected"); + message.consumerDestinations[i] = $root.google.api.Monitoring.MonitoringDestination.fromObject(object.consumerDestinations[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Monitoring message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Monitoring + * @static + * @param {google.api.Monitoring} message Monitoring + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Monitoring.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.producerDestinations = []; + object.consumerDestinations = []; + } + if (message.producerDestinations && message.producerDestinations.length) { + object.producerDestinations = []; + for (var j = 0; j < message.producerDestinations.length; ++j) + object.producerDestinations[j] = $root.google.api.Monitoring.MonitoringDestination.toObject(message.producerDestinations[j], options); + } + if (message.consumerDestinations && message.consumerDestinations.length) { + object.consumerDestinations = []; + for (var j = 0; j < message.consumerDestinations.length; ++j) + object.consumerDestinations[j] = $root.google.api.Monitoring.MonitoringDestination.toObject(message.consumerDestinations[j], options); + } + return object; + }; + + /** + * Converts this Monitoring to JSON. + * @function toJSON + * @memberof google.api.Monitoring + * @instance + * @returns {Object.} JSON object + */ + Monitoring.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Monitoring + * @function getTypeUrl + * @memberof google.api.Monitoring + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Monitoring.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Monitoring"; + }; + + Monitoring.MonitoringDestination = (function() { + + /** + * Properties of a MonitoringDestination. + * @memberof google.api.Monitoring + * @interface IMonitoringDestination + * @property {string|null} [monitoredResource] MonitoringDestination monitoredResource + * @property {Array.|null} [metrics] MonitoringDestination metrics + */ + + /** + * Constructs a new MonitoringDestination. + * @memberof google.api.Monitoring + * @classdesc Represents a MonitoringDestination. + * @implements IMonitoringDestination + * @constructor + * @param {google.api.Monitoring.IMonitoringDestination=} [properties] Properties to set + */ + function MonitoringDestination(properties) { + this.metrics = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MonitoringDestination monitoredResource. + * @member {string} monitoredResource + * @memberof google.api.Monitoring.MonitoringDestination + * @instance + */ + MonitoringDestination.prototype.monitoredResource = ""; + + /** + * MonitoringDestination metrics. + * @member {Array.} metrics + * @memberof google.api.Monitoring.MonitoringDestination + * @instance + */ + MonitoringDestination.prototype.metrics = $util.emptyArray; + + /** + * Creates a new MonitoringDestination instance using the specified properties. + * @function create + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {google.api.Monitoring.IMonitoringDestination=} [properties] Properties to set + * @returns {google.api.Monitoring.MonitoringDestination} MonitoringDestination instance + */ + MonitoringDestination.create = function create(properties) { + return new MonitoringDestination(properties); + }; + + /** + * Encodes the specified MonitoringDestination message. Does not implicitly {@link google.api.Monitoring.MonitoringDestination.verify|verify} messages. + * @function encode + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {google.api.Monitoring.IMonitoringDestination} message MonitoringDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoringDestination.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.monitoredResource != null && Object.hasOwnProperty.call(message, "monitoredResource")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.monitoredResource); + if (message.metrics != null && message.metrics.length) + for (var i = 0; i < message.metrics.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.metrics[i]); + return writer; + }; + + /** + * Encodes the specified MonitoringDestination message, length delimited. Does not implicitly {@link google.api.Monitoring.MonitoringDestination.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {google.api.Monitoring.IMonitoringDestination} message MonitoringDestination message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MonitoringDestination.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MonitoringDestination message from the specified reader or buffer. + * @function decode + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Monitoring.MonitoringDestination} MonitoringDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoringDestination.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Monitoring.MonitoringDestination(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.monitoredResource = reader.string(); + break; + } + case 2: { + if (!(message.metrics && message.metrics.length)) + message.metrics = []; + message.metrics.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MonitoringDestination message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Monitoring.MonitoringDestination} MonitoringDestination + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MonitoringDestination.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MonitoringDestination message. + * @function verify + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MonitoringDestination.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.monitoredResource != null && message.hasOwnProperty("monitoredResource")) + if (!$util.isString(message.monitoredResource)) + return "monitoredResource: string expected"; + if (message.metrics != null && message.hasOwnProperty("metrics")) { + if (!Array.isArray(message.metrics)) + return "metrics: array expected"; + for (var i = 0; i < message.metrics.length; ++i) + if (!$util.isString(message.metrics[i])) + return "metrics: string[] expected"; + } + return null; + }; + + /** + * Creates a MonitoringDestination message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {Object.} object Plain object + * @returns {google.api.Monitoring.MonitoringDestination} MonitoringDestination + */ + MonitoringDestination.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Monitoring.MonitoringDestination) + return object; + var message = new $root.google.api.Monitoring.MonitoringDestination(); + if (object.monitoredResource != null) + message.monitoredResource = String(object.monitoredResource); + if (object.metrics) { + if (!Array.isArray(object.metrics)) + throw TypeError(".google.api.Monitoring.MonitoringDestination.metrics: array expected"); + message.metrics = []; + for (var i = 0; i < object.metrics.length; ++i) + message.metrics[i] = String(object.metrics[i]); + } + return message; + }; + + /** + * Creates a plain object from a MonitoringDestination message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {google.api.Monitoring.MonitoringDestination} message MonitoringDestination + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MonitoringDestination.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.metrics = []; + if (options.defaults) + object.monitoredResource = ""; + if (message.monitoredResource != null && message.hasOwnProperty("monitoredResource")) + object.monitoredResource = message.monitoredResource; + if (message.metrics && message.metrics.length) { + object.metrics = []; + for (var j = 0; j < message.metrics.length; ++j) + object.metrics[j] = message.metrics[j]; + } + return object; + }; + + /** + * Converts this MonitoringDestination to JSON. + * @function toJSON + * @memberof google.api.Monitoring.MonitoringDestination + * @instance + * @returns {Object.} JSON object + */ + MonitoringDestination.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MonitoringDestination + * @function getTypeUrl + * @memberof google.api.Monitoring.MonitoringDestination + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MonitoringDestination.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Monitoring.MonitoringDestination"; + }; + + return MonitoringDestination; + })(); + + return Monitoring; + })(); + + api.Quota = (function() { + + /** + * Properties of a Quota. + * @memberof google.api + * @interface IQuota + * @property {Array.|null} [limits] Quota limits + * @property {Array.|null} [metricRules] Quota metricRules + */ + + /** + * Constructs a new Quota. + * @memberof google.api + * @classdesc Represents a Quota. + * @implements IQuota + * @constructor + * @param {google.api.IQuota=} [properties] Properties to set + */ + function Quota(properties) { + this.limits = []; + this.metricRules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Quota limits. + * @member {Array.} limits + * @memberof google.api.Quota + * @instance + */ + Quota.prototype.limits = $util.emptyArray; + + /** + * Quota metricRules. + * @member {Array.} metricRules + * @memberof google.api.Quota + * @instance + */ + Quota.prototype.metricRules = $util.emptyArray; + + /** + * Creates a new Quota instance using the specified properties. + * @function create + * @memberof google.api.Quota + * @static + * @param {google.api.IQuota=} [properties] Properties to set + * @returns {google.api.Quota} Quota instance + */ + Quota.create = function create(properties) { + return new Quota(properties); + }; + + /** + * Encodes the specified Quota message. Does not implicitly {@link google.api.Quota.verify|verify} messages. + * @function encode + * @memberof google.api.Quota + * @static + * @param {google.api.IQuota} message Quota message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Quota.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.limits != null && message.limits.length) + for (var i = 0; i < message.limits.length; ++i) + $root.google.api.QuotaLimit.encode(message.limits[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.metricRules != null && message.metricRules.length) + for (var i = 0; i < message.metricRules.length; ++i) + $root.google.api.MetricRule.encode(message.metricRules[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Quota message, length delimited. Does not implicitly {@link google.api.Quota.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Quota + * @static + * @param {google.api.IQuota} message Quota message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Quota.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Quota message from the specified reader or buffer. + * @function decode + * @memberof google.api.Quota + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Quota} Quota + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Quota.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Quota(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + if (!(message.limits && message.limits.length)) + message.limits = []; + message.limits.push($root.google.api.QuotaLimit.decode(reader, reader.uint32())); + break; + } + case 4: { + if (!(message.metricRules && message.metricRules.length)) + message.metricRules = []; + message.metricRules.push($root.google.api.MetricRule.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Quota message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Quota + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Quota} Quota + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Quota.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Quota message. + * @function verify + * @memberof google.api.Quota + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Quota.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.limits != null && message.hasOwnProperty("limits")) { + if (!Array.isArray(message.limits)) + return "limits: array expected"; + for (var i = 0; i < message.limits.length; ++i) { + var error = $root.google.api.QuotaLimit.verify(message.limits[i]); + if (error) + return "limits." + error; + } + } + if (message.metricRules != null && message.hasOwnProperty("metricRules")) { + if (!Array.isArray(message.metricRules)) + return "metricRules: array expected"; + for (var i = 0; i < message.metricRules.length; ++i) { + var error = $root.google.api.MetricRule.verify(message.metricRules[i]); + if (error) + return "metricRules." + error; + } + } + return null; + }; + + /** + * Creates a Quota message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Quota + * @static + * @param {Object.} object Plain object + * @returns {google.api.Quota} Quota + */ + Quota.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Quota) + return object; + var message = new $root.google.api.Quota(); + if (object.limits) { + if (!Array.isArray(object.limits)) + throw TypeError(".google.api.Quota.limits: array expected"); + message.limits = []; + for (var i = 0; i < object.limits.length; ++i) { + if (typeof object.limits[i] !== "object") + throw TypeError(".google.api.Quota.limits: object expected"); + message.limits[i] = $root.google.api.QuotaLimit.fromObject(object.limits[i]); + } + } + if (object.metricRules) { + if (!Array.isArray(object.metricRules)) + throw TypeError(".google.api.Quota.metricRules: array expected"); + message.metricRules = []; + for (var i = 0; i < object.metricRules.length; ++i) { + if (typeof object.metricRules[i] !== "object") + throw TypeError(".google.api.Quota.metricRules: object expected"); + message.metricRules[i] = $root.google.api.MetricRule.fromObject(object.metricRules[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Quota message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Quota + * @static + * @param {google.api.Quota} message Quota + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Quota.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.limits = []; + object.metricRules = []; + } + if (message.limits && message.limits.length) { + object.limits = []; + for (var j = 0; j < message.limits.length; ++j) + object.limits[j] = $root.google.api.QuotaLimit.toObject(message.limits[j], options); + } + if (message.metricRules && message.metricRules.length) { + object.metricRules = []; + for (var j = 0; j < message.metricRules.length; ++j) + object.metricRules[j] = $root.google.api.MetricRule.toObject(message.metricRules[j], options); + } + return object; + }; + + /** + * Converts this Quota to JSON. + * @function toJSON + * @memberof google.api.Quota + * @instance + * @returns {Object.} JSON object + */ + Quota.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Quota + * @function getTypeUrl + * @memberof google.api.Quota + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Quota.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Quota"; + }; + + return Quota; + })(); + + api.MetricRule = (function() { + + /** + * Properties of a MetricRule. + * @memberof google.api + * @interface IMetricRule + * @property {string|null} [selector] MetricRule selector + * @property {Object.|null} [metricCosts] MetricRule metricCosts + */ + + /** + * Constructs a new MetricRule. + * @memberof google.api + * @classdesc Represents a MetricRule. + * @implements IMetricRule + * @constructor + * @param {google.api.IMetricRule=} [properties] Properties to set + */ + function MetricRule(properties) { + this.metricCosts = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MetricRule selector. + * @member {string} selector + * @memberof google.api.MetricRule + * @instance + */ + MetricRule.prototype.selector = ""; + + /** + * MetricRule metricCosts. + * @member {Object.} metricCosts + * @memberof google.api.MetricRule + * @instance + */ + MetricRule.prototype.metricCosts = $util.emptyObject; + + /** + * Creates a new MetricRule instance using the specified properties. + * @function create + * @memberof google.api.MetricRule + * @static + * @param {google.api.IMetricRule=} [properties] Properties to set + * @returns {google.api.MetricRule} MetricRule instance + */ + MetricRule.create = function create(properties) { + return new MetricRule(properties); + }; + + /** + * Encodes the specified MetricRule message. Does not implicitly {@link google.api.MetricRule.verify|verify} messages. + * @function encode + * @memberof google.api.MetricRule + * @static + * @param {google.api.IMetricRule} message MetricRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MetricRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.metricCosts != null && Object.hasOwnProperty.call(message, "metricCosts")) + for (var keys = Object.keys(message.metricCosts), 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 0 =*/16).int64(message.metricCosts[keys[i]]).ldelim(); + return writer; + }; + + /** + * Encodes the specified MetricRule message, length delimited. Does not implicitly {@link google.api.MetricRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.MetricRule + * @static + * @param {google.api.IMetricRule} message MetricRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MetricRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MetricRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.MetricRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.MetricRule} MetricRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MetricRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.MetricRule(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + if (message.metricCosts === $util.emptyObject) + message.metricCosts = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = 0; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.int64(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.metricCosts[key] = value; + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MetricRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.MetricRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.MetricRule} MetricRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MetricRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MetricRule message. + * @function verify + * @memberof google.api.MetricRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MetricRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.metricCosts != null && message.hasOwnProperty("metricCosts")) { + if (!$util.isObject(message.metricCosts)) + return "metricCosts: object expected"; + var key = Object.keys(message.metricCosts); + for (var i = 0; i < key.length; ++i) + if (!$util.isInteger(message.metricCosts[key[i]]) && !(message.metricCosts[key[i]] && $util.isInteger(message.metricCosts[key[i]].low) && $util.isInteger(message.metricCosts[key[i]].high))) + return "metricCosts: integer|Long{k:string} expected"; + } + return null; + }; + + /** + * Creates a MetricRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.MetricRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.MetricRule} MetricRule + */ + MetricRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.MetricRule) + return object; + var message = new $root.google.api.MetricRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.metricCosts) { + if (typeof object.metricCosts !== "object") + throw TypeError(".google.api.MetricRule.metricCosts: object expected"); + message.metricCosts = {}; + for (var keys = Object.keys(object.metricCosts), i = 0; i < keys.length; ++i) + if ($util.Long) + (message.metricCosts[keys[i]] = $util.Long.fromValue(object.metricCosts[keys[i]])).unsigned = false; + else if (typeof object.metricCosts[keys[i]] === "string") + message.metricCosts[keys[i]] = parseInt(object.metricCosts[keys[i]], 10); + else if (typeof object.metricCosts[keys[i]] === "number") + message.metricCosts[keys[i]] = object.metricCosts[keys[i]]; + else if (typeof object.metricCosts[keys[i]] === "object") + message.metricCosts[keys[i]] = new $util.LongBits(object.metricCosts[keys[i]].low >>> 0, object.metricCosts[keys[i]].high >>> 0).toNumber(); + } + return message; + }; + + /** + * Creates a plain object from a MetricRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.MetricRule + * @static + * @param {google.api.MetricRule} message MetricRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MetricRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.metricCosts = {}; + if (options.defaults) + object.selector = ""; + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + var keys2; + if (message.metricCosts && (keys2 = Object.keys(message.metricCosts)).length) { + object.metricCosts = {}; + for (var j = 0; j < keys2.length; ++j) + if (typeof message.metricCosts[keys2[j]] === "number") + object.metricCosts[keys2[j]] = options.longs === String ? String(message.metricCosts[keys2[j]]) : message.metricCosts[keys2[j]]; + else + object.metricCosts[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.metricCosts[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.metricCosts[keys2[j]].low >>> 0, message.metricCosts[keys2[j]].high >>> 0).toNumber() : message.metricCosts[keys2[j]]; + } + return object; + }; + + /** + * Converts this MetricRule to JSON. + * @function toJSON + * @memberof google.api.MetricRule + * @instance + * @returns {Object.} JSON object + */ + MetricRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for MetricRule + * @function getTypeUrl + * @memberof google.api.MetricRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + MetricRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.MetricRule"; + }; + + return MetricRule; + })(); + + api.QuotaLimit = (function() { + + /** + * Properties of a QuotaLimit. + * @memberof google.api + * @interface IQuotaLimit + * @property {string|null} [name] QuotaLimit name + * @property {string|null} [description] QuotaLimit description + * @property {number|Long|null} [defaultLimit] QuotaLimit defaultLimit + * @property {number|Long|null} [maxLimit] QuotaLimit maxLimit + * @property {number|Long|null} [freeTier] QuotaLimit freeTier + * @property {string|null} [duration] QuotaLimit duration + * @property {string|null} [metric] QuotaLimit metric + * @property {string|null} [unit] QuotaLimit unit + * @property {Object.|null} [values] QuotaLimit values + * @property {string|null} [displayName] QuotaLimit displayName + */ + + /** + * Constructs a new QuotaLimit. + * @memberof google.api + * @classdesc Represents a QuotaLimit. + * @implements IQuotaLimit + * @constructor + * @param {google.api.IQuotaLimit=} [properties] Properties to set + */ + function QuotaLimit(properties) { + this.values = {}; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * QuotaLimit name. + * @member {string} name + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.name = ""; + + /** + * QuotaLimit description. + * @member {string} description + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.description = ""; + + /** + * QuotaLimit defaultLimit. + * @member {number|Long} defaultLimit + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.defaultLimit = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaLimit maxLimit. + * @member {number|Long} maxLimit + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.maxLimit = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaLimit freeTier. + * @member {number|Long} freeTier + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.freeTier = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * QuotaLimit duration. + * @member {string} duration + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.duration = ""; + + /** + * QuotaLimit metric. + * @member {string} metric + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.metric = ""; + + /** + * QuotaLimit unit. + * @member {string} unit + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.unit = ""; + + /** + * QuotaLimit values. + * @member {Object.} values + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.values = $util.emptyObject; + + /** + * QuotaLimit displayName. + * @member {string} displayName + * @memberof google.api.QuotaLimit + * @instance + */ + QuotaLimit.prototype.displayName = ""; + + /** + * Creates a new QuotaLimit instance using the specified properties. + * @function create + * @memberof google.api.QuotaLimit + * @static + * @param {google.api.IQuotaLimit=} [properties] Properties to set + * @returns {google.api.QuotaLimit} QuotaLimit instance + */ + QuotaLimit.create = function create(properties) { + return new QuotaLimit(properties); + }; + + /** + * Encodes the specified QuotaLimit message. Does not implicitly {@link google.api.QuotaLimit.verify|verify} messages. + * @function encode + * @memberof google.api.QuotaLimit + * @static + * @param {google.api.IQuotaLimit} message QuotaLimit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaLimit.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.description != null && Object.hasOwnProperty.call(message, "description")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.description); + if (message.defaultLimit != null && Object.hasOwnProperty.call(message, "defaultLimit")) + writer.uint32(/* id 3, wireType 0 =*/24).int64(message.defaultLimit); + if (message.maxLimit != null && Object.hasOwnProperty.call(message, "maxLimit")) + writer.uint32(/* id 4, wireType 0 =*/32).int64(message.maxLimit); + if (message.duration != null && Object.hasOwnProperty.call(message, "duration")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.duration); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.name); + if (message.freeTier != null && Object.hasOwnProperty.call(message, "freeTier")) + writer.uint32(/* id 7, wireType 0 =*/56).int64(message.freeTier); + if (message.metric != null && Object.hasOwnProperty.call(message, "metric")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.metric); + if (message.unit != null && Object.hasOwnProperty.call(message, "unit")) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.unit); + if (message.values != null && Object.hasOwnProperty.call(message, "values")) + for (var keys = Object.keys(message.values), i = 0; i < keys.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 0 =*/16).int64(message.values[keys[i]]).ldelim(); + if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.displayName); + return writer; + }; + + /** + * Encodes the specified QuotaLimit message, length delimited. Does not implicitly {@link google.api.QuotaLimit.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.QuotaLimit + * @static + * @param {google.api.IQuotaLimit} message QuotaLimit message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + QuotaLimit.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a QuotaLimit message from the specified reader or buffer. + * @function decode + * @memberof google.api.QuotaLimit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.QuotaLimit} QuotaLimit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaLimit.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.QuotaLimit(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 6: { + message.name = reader.string(); + break; + } + case 2: { + message.description = reader.string(); + break; + } + case 3: { + message.defaultLimit = reader.int64(); + break; + } + case 4: { + message.maxLimit = reader.int64(); + break; + } + case 7: { + message.freeTier = reader.int64(); + break; + } + case 5: { + message.duration = reader.string(); + break; + } + case 8: { + message.metric = reader.string(); + break; + } + case 9: { + message.unit = reader.string(); + break; + } + case 10: { + if (message.values === $util.emptyObject) + message.values = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = 0; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.int64(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.values[key] = value; + break; + } + case 12: { + message.displayName = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a QuotaLimit message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.QuotaLimit + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.QuotaLimit} QuotaLimit + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + QuotaLimit.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a QuotaLimit message. + * @function verify + * @memberof google.api.QuotaLimit + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + QuotaLimit.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.description != null && message.hasOwnProperty("description")) + if (!$util.isString(message.description)) + return "description: string expected"; + if (message.defaultLimit != null && message.hasOwnProperty("defaultLimit")) + if (!$util.isInteger(message.defaultLimit) && !(message.defaultLimit && $util.isInteger(message.defaultLimit.low) && $util.isInteger(message.defaultLimit.high))) + return "defaultLimit: integer|Long expected"; + if (message.maxLimit != null && message.hasOwnProperty("maxLimit")) + if (!$util.isInteger(message.maxLimit) && !(message.maxLimit && $util.isInteger(message.maxLimit.low) && $util.isInteger(message.maxLimit.high))) + return "maxLimit: integer|Long expected"; + if (message.freeTier != null && message.hasOwnProperty("freeTier")) + if (!$util.isInteger(message.freeTier) && !(message.freeTier && $util.isInteger(message.freeTier.low) && $util.isInteger(message.freeTier.high))) + return "freeTier: integer|Long expected"; + if (message.duration != null && message.hasOwnProperty("duration")) + if (!$util.isString(message.duration)) + return "duration: string expected"; + if (message.metric != null && message.hasOwnProperty("metric")) + if (!$util.isString(message.metric)) + return "metric: string expected"; + if (message.unit != null && message.hasOwnProperty("unit")) + if (!$util.isString(message.unit)) + return "unit: string expected"; + if (message.values != null && message.hasOwnProperty("values")) { + if (!$util.isObject(message.values)) + return "values: object expected"; + var key = Object.keys(message.values); + for (var i = 0; i < key.length; ++i) + if (!$util.isInteger(message.values[key[i]]) && !(message.values[key[i]] && $util.isInteger(message.values[key[i]].low) && $util.isInteger(message.values[key[i]].high))) + return "values: integer|Long{k:string} expected"; + } + if (message.displayName != null && message.hasOwnProperty("displayName")) + if (!$util.isString(message.displayName)) + return "displayName: string expected"; + return null; + }; + + /** + * Creates a QuotaLimit message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.QuotaLimit + * @static + * @param {Object.} object Plain object + * @returns {google.api.QuotaLimit} QuotaLimit + */ + QuotaLimit.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.QuotaLimit) + return object; + var message = new $root.google.api.QuotaLimit(); + if (object.name != null) + message.name = String(object.name); + if (object.description != null) + message.description = String(object.description); + if (object.defaultLimit != null) + if ($util.Long) + (message.defaultLimit = $util.Long.fromValue(object.defaultLimit)).unsigned = false; + else if (typeof object.defaultLimit === "string") + message.defaultLimit = parseInt(object.defaultLimit, 10); + else if (typeof object.defaultLimit === "number") + message.defaultLimit = object.defaultLimit; + else if (typeof object.defaultLimit === "object") + message.defaultLimit = new $util.LongBits(object.defaultLimit.low >>> 0, object.defaultLimit.high >>> 0).toNumber(); + if (object.maxLimit != null) + if ($util.Long) + (message.maxLimit = $util.Long.fromValue(object.maxLimit)).unsigned = false; + else if (typeof object.maxLimit === "string") + message.maxLimit = parseInt(object.maxLimit, 10); + else if (typeof object.maxLimit === "number") + message.maxLimit = object.maxLimit; + else if (typeof object.maxLimit === "object") + message.maxLimit = new $util.LongBits(object.maxLimit.low >>> 0, object.maxLimit.high >>> 0).toNumber(); + if (object.freeTier != null) + if ($util.Long) + (message.freeTier = $util.Long.fromValue(object.freeTier)).unsigned = false; + else if (typeof object.freeTier === "string") + message.freeTier = parseInt(object.freeTier, 10); + else if (typeof object.freeTier === "number") + message.freeTier = object.freeTier; + else if (typeof object.freeTier === "object") + message.freeTier = new $util.LongBits(object.freeTier.low >>> 0, object.freeTier.high >>> 0).toNumber(); + if (object.duration != null) + message.duration = String(object.duration); + if (object.metric != null) + message.metric = String(object.metric); + if (object.unit != null) + message.unit = String(object.unit); + if (object.values) { + if (typeof object.values !== "object") + throw TypeError(".google.api.QuotaLimit.values: object expected"); + message.values = {}; + for (var keys = Object.keys(object.values), i = 0; i < keys.length; ++i) + if ($util.Long) + (message.values[keys[i]] = $util.Long.fromValue(object.values[keys[i]])).unsigned = false; + else if (typeof object.values[keys[i]] === "string") + message.values[keys[i]] = parseInt(object.values[keys[i]], 10); + else if (typeof object.values[keys[i]] === "number") + message.values[keys[i]] = object.values[keys[i]]; + else if (typeof object.values[keys[i]] === "object") + message.values[keys[i]] = new $util.LongBits(object.values[keys[i]].low >>> 0, object.values[keys[i]].high >>> 0).toNumber(); + } + if (object.displayName != null) + message.displayName = String(object.displayName); + return message; + }; + + /** + * Creates a plain object from a QuotaLimit message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.QuotaLimit + * @static + * @param {google.api.QuotaLimit} message QuotaLimit + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + QuotaLimit.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.objects || options.defaults) + object.values = {}; + if (options.defaults) { + object.description = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.defaultLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.defaultLimit = options.longs === String ? "0" : 0; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.maxLimit = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.maxLimit = options.longs === String ? "0" : 0; + object.duration = ""; + object.name = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.freeTier = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.freeTier = options.longs === String ? "0" : 0; + object.metric = ""; + object.unit = ""; + object.displayName = ""; + } + if (message.description != null && message.hasOwnProperty("description")) + object.description = message.description; + if (message.defaultLimit != null && message.hasOwnProperty("defaultLimit")) + if (typeof message.defaultLimit === "number") + object.defaultLimit = options.longs === String ? String(message.defaultLimit) : message.defaultLimit; + else + object.defaultLimit = options.longs === String ? $util.Long.prototype.toString.call(message.defaultLimit) : options.longs === Number ? new $util.LongBits(message.defaultLimit.low >>> 0, message.defaultLimit.high >>> 0).toNumber() : message.defaultLimit; + if (message.maxLimit != null && message.hasOwnProperty("maxLimit")) + if (typeof message.maxLimit === "number") + object.maxLimit = options.longs === String ? String(message.maxLimit) : message.maxLimit; + else + object.maxLimit = options.longs === String ? $util.Long.prototype.toString.call(message.maxLimit) : options.longs === Number ? new $util.LongBits(message.maxLimit.low >>> 0, message.maxLimit.high >>> 0).toNumber() : message.maxLimit; + if (message.duration != null && message.hasOwnProperty("duration")) + object.duration = message.duration; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.freeTier != null && message.hasOwnProperty("freeTier")) + if (typeof message.freeTier === "number") + object.freeTier = options.longs === String ? String(message.freeTier) : message.freeTier; + else + object.freeTier = options.longs === String ? $util.Long.prototype.toString.call(message.freeTier) : options.longs === Number ? new $util.LongBits(message.freeTier.low >>> 0, message.freeTier.high >>> 0).toNumber() : message.freeTier; + if (message.metric != null && message.hasOwnProperty("metric")) + object.metric = message.metric; + if (message.unit != null && message.hasOwnProperty("unit")) + object.unit = message.unit; + var keys2; + if (message.values && (keys2 = Object.keys(message.values)).length) { + object.values = {}; + for (var j = 0; j < keys2.length; ++j) + if (typeof message.values[keys2[j]] === "number") + object.values[keys2[j]] = options.longs === String ? String(message.values[keys2[j]]) : message.values[keys2[j]]; + else + object.values[keys2[j]] = options.longs === String ? $util.Long.prototype.toString.call(message.values[keys2[j]]) : options.longs === Number ? new $util.LongBits(message.values[keys2[j]].low >>> 0, message.values[keys2[j]].high >>> 0).toNumber() : message.values[keys2[j]]; + } + if (message.displayName != null && message.hasOwnProperty("displayName")) + object.displayName = message.displayName; + return object; + }; + + /** + * Converts this QuotaLimit to JSON. + * @function toJSON + * @memberof google.api.QuotaLimit + * @instance + * @returns {Object.} JSON object + */ + QuotaLimit.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for QuotaLimit + * @function getTypeUrl + * @memberof google.api.QuotaLimit + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + QuotaLimit.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.QuotaLimit"; + }; + + return QuotaLimit; + })(); + + api.Usage = (function() { + + /** + * Properties of a Usage. + * @memberof google.api + * @interface IUsage + * @property {Array.|null} [requirements] Usage requirements + * @property {Array.|null} [rules] Usage rules + * @property {string|null} [producerNotificationChannel] Usage producerNotificationChannel + */ + + /** + * Constructs a new Usage. + * @memberof google.api + * @classdesc Represents a Usage. + * @implements IUsage + * @constructor + * @param {google.api.IUsage=} [properties] Properties to set + */ + function Usage(properties) { + this.requirements = []; + this.rules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Usage requirements. + * @member {Array.} requirements + * @memberof google.api.Usage + * @instance + */ + Usage.prototype.requirements = $util.emptyArray; + + /** + * Usage rules. + * @member {Array.} rules + * @memberof google.api.Usage + * @instance + */ + Usage.prototype.rules = $util.emptyArray; + + /** + * Usage producerNotificationChannel. + * @member {string} producerNotificationChannel + * @memberof google.api.Usage + * @instance + */ + Usage.prototype.producerNotificationChannel = ""; + + /** + * Creates a new Usage instance using the specified properties. + * @function create + * @memberof google.api.Usage + * @static + * @param {google.api.IUsage=} [properties] Properties to set + * @returns {google.api.Usage} Usage instance + */ + Usage.create = function create(properties) { + return new Usage(properties); + }; + + /** + * Encodes the specified Usage message. Does not implicitly {@link google.api.Usage.verify|verify} messages. + * @function encode + * @memberof google.api.Usage + * @static + * @param {google.api.IUsage} message Usage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Usage.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.requirements != null && message.requirements.length) + for (var i = 0; i < message.requirements.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.requirements[i]); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.UsageRule.encode(message.rules[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.producerNotificationChannel != null && Object.hasOwnProperty.call(message, "producerNotificationChannel")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.producerNotificationChannel); + return writer; + }; + + /** + * Encodes the specified Usage message, length delimited. Does not implicitly {@link google.api.Usage.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Usage + * @static + * @param {google.api.IUsage} message Usage message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Usage.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Usage message from the specified reader or buffer. + * @function decode + * @memberof google.api.Usage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Usage} Usage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Usage.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Usage(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.requirements && message.requirements.length)) + message.requirements = []; + message.requirements.push(reader.string()); + break; + } + case 6: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.UsageRule.decode(reader, reader.uint32())); + break; + } + case 7: { + message.producerNotificationChannel = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Usage message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Usage + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Usage} Usage + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Usage.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Usage message. + * @function verify + * @memberof google.api.Usage + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Usage.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.requirements != null && message.hasOwnProperty("requirements")) { + if (!Array.isArray(message.requirements)) + return "requirements: array expected"; + for (var i = 0; i < message.requirements.length; ++i) + if (!$util.isString(message.requirements[i])) + return "requirements: string[] expected"; + } + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.UsageRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.producerNotificationChannel != null && message.hasOwnProperty("producerNotificationChannel")) + if (!$util.isString(message.producerNotificationChannel)) + return "producerNotificationChannel: string expected"; + return null; + }; + + /** + * Creates a Usage message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Usage + * @static + * @param {Object.} object Plain object + * @returns {google.api.Usage} Usage + */ + Usage.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Usage) + return object; + var message = new $root.google.api.Usage(); + if (object.requirements) { + if (!Array.isArray(object.requirements)) + throw TypeError(".google.api.Usage.requirements: array expected"); + message.requirements = []; + for (var i = 0; i < object.requirements.length; ++i) + message.requirements[i] = String(object.requirements[i]); + } + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Usage.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Usage.rules: object expected"); + message.rules[i] = $root.google.api.UsageRule.fromObject(object.rules[i]); + } + } + if (object.producerNotificationChannel != null) + message.producerNotificationChannel = String(object.producerNotificationChannel); + return message; + }; + + /** + * Creates a plain object from a Usage message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Usage + * @static + * @param {google.api.Usage} message Usage + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Usage.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.requirements = []; + object.rules = []; + } + if (options.defaults) + object.producerNotificationChannel = ""; + if (message.requirements && message.requirements.length) { + object.requirements = []; + for (var j = 0; j < message.requirements.length; ++j) + object.requirements[j] = message.requirements[j]; + } + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.UsageRule.toObject(message.rules[j], options); + } + if (message.producerNotificationChannel != null && message.hasOwnProperty("producerNotificationChannel")) + object.producerNotificationChannel = message.producerNotificationChannel; + return object; + }; + + /** + * Converts this Usage to JSON. + * @function toJSON + * @memberof google.api.Usage + * @instance + * @returns {Object.} JSON object + */ + Usage.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Usage + * @function getTypeUrl + * @memberof google.api.Usage + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Usage.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Usage"; + }; + + return Usage; + })(); + + api.UsageRule = (function() { + + /** + * Properties of a UsageRule. + * @memberof google.api + * @interface IUsageRule + * @property {string|null} [selector] UsageRule selector + * @property {boolean|null} [allowUnregisteredCalls] UsageRule allowUnregisteredCalls + * @property {boolean|null} [skipServiceControl] UsageRule skipServiceControl + */ + + /** + * Constructs a new UsageRule. + * @memberof google.api + * @classdesc Represents a UsageRule. + * @implements IUsageRule + * @constructor + * @param {google.api.IUsageRule=} [properties] Properties to set + */ + function UsageRule(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * UsageRule selector. + * @member {string} selector + * @memberof google.api.UsageRule + * @instance + */ + UsageRule.prototype.selector = ""; + + /** + * UsageRule allowUnregisteredCalls. + * @member {boolean} allowUnregisteredCalls + * @memberof google.api.UsageRule + * @instance + */ + UsageRule.prototype.allowUnregisteredCalls = false; + + /** + * UsageRule skipServiceControl. + * @member {boolean} skipServiceControl + * @memberof google.api.UsageRule + * @instance + */ + UsageRule.prototype.skipServiceControl = false; + + /** + * Creates a new UsageRule instance using the specified properties. + * @function create + * @memberof google.api.UsageRule + * @static + * @param {google.api.IUsageRule=} [properties] Properties to set + * @returns {google.api.UsageRule} UsageRule instance + */ + UsageRule.create = function create(properties) { + return new UsageRule(properties); + }; + + /** + * Encodes the specified UsageRule message. Does not implicitly {@link google.api.UsageRule.verify|verify} messages. + * @function encode + * @memberof google.api.UsageRule + * @static + * @param {google.api.IUsageRule} message UsageRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UsageRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.allowUnregisteredCalls != null && Object.hasOwnProperty.call(message, "allowUnregisteredCalls")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.allowUnregisteredCalls); + if (message.skipServiceControl != null && Object.hasOwnProperty.call(message, "skipServiceControl")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.skipServiceControl); + return writer; + }; + + /** + * Encodes the specified UsageRule message, length delimited. Does not implicitly {@link google.api.UsageRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.UsageRule + * @static + * @param {google.api.IUsageRule} message UsageRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UsageRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a UsageRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.UsageRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.UsageRule} UsageRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UsageRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.UsageRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.allowUnregisteredCalls = reader.bool(); + break; + } + case 3: { + message.skipServiceControl = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a UsageRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.UsageRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.UsageRule} UsageRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UsageRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a UsageRule message. + * @function verify + * @memberof google.api.UsageRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UsageRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.allowUnregisteredCalls != null && message.hasOwnProperty("allowUnregisteredCalls")) + if (typeof message.allowUnregisteredCalls !== "boolean") + return "allowUnregisteredCalls: boolean expected"; + if (message.skipServiceControl != null && message.hasOwnProperty("skipServiceControl")) + if (typeof message.skipServiceControl !== "boolean") + return "skipServiceControl: boolean expected"; + return null; + }; + + /** + * Creates a UsageRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.UsageRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.UsageRule} UsageRule + */ + UsageRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.UsageRule) + return object; + var message = new $root.google.api.UsageRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.allowUnregisteredCalls != null) + message.allowUnregisteredCalls = Boolean(object.allowUnregisteredCalls); + if (object.skipServiceControl != null) + message.skipServiceControl = Boolean(object.skipServiceControl); + return message; + }; + + /** + * Creates a plain object from a UsageRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.UsageRule + * @static + * @param {google.api.UsageRule} message UsageRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UsageRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.selector = ""; + object.allowUnregisteredCalls = false; + object.skipServiceControl = false; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.allowUnregisteredCalls != null && message.hasOwnProperty("allowUnregisteredCalls")) + object.allowUnregisteredCalls = message.allowUnregisteredCalls; + if (message.skipServiceControl != null && message.hasOwnProperty("skipServiceControl")) + object.skipServiceControl = message.skipServiceControl; + return object; + }; + + /** + * Converts this UsageRule to JSON. + * @function toJSON + * @memberof google.api.UsageRule + * @instance + * @returns {Object.} JSON object + */ + UsageRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UsageRule + * @function getTypeUrl + * @memberof google.api.UsageRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UsageRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.UsageRule"; + }; + + return UsageRule; + })(); + + api.Http = (function() { + + /** + * Properties of a Http. + * @memberof google.api + * @interface IHttp + * @property {Array.|null} [rules] Http rules + * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion + */ + + /** + * Constructs a new Http. + * @memberof google.api + * @classdesc Represents a Http. + * @implements IHttp + * @constructor + * @param {google.api.IHttp=} [properties] Properties to set + */ + function Http(properties) { + this.rules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Http rules. + * @member {Array.} rules + * @memberof google.api.Http + * @instance + */ + Http.prototype.rules = $util.emptyArray; + + /** + * Http fullyDecodeReservedExpansion. + * @member {boolean} fullyDecodeReservedExpansion + * @memberof google.api.Http + * @instance + */ + Http.prototype.fullyDecodeReservedExpansion = false; + + /** + * Creates a new Http instance using the specified properties. + * @function create + * @memberof google.api.Http + * @static + * @param {google.api.IHttp=} [properties] Properties to set + * @returns {google.api.Http} Http instance + */ + Http.create = function create(properties) { + return new Http(properties); + }; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encode + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); + return writer; + }; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Http message from the specified reader or buffer. + * @function decode + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + case 2: { + message.fullyDecodeReservedExpansion = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Http message. + * @function verify + * @memberof google.api.Http + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Http.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (typeof message.fullyDecodeReservedExpansion !== "boolean") + return "fullyDecodeReservedExpansion: boolean expected"; + return null; + }; + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Http + * @static + * @param {Object.} object Plain object + * @returns {google.api.Http} Http + */ + Http.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Http) + return object; + var message = new $root.google.api.Http(); + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Http.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Http.rules: object expected"); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + } + } + if (object.fullyDecodeReservedExpansion != null) + message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion); + return message; + }; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Http + * @static + * @param {google.api.Http} message Http + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Http.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.rules = []; + if (options.defaults) + object.fullyDecodeReservedExpansion = false; + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options); + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion; + return object; + }; + + /** + * Converts this Http to JSON. + * @function toJSON + * @memberof google.api.Http + * @instance + * @returns {Object.} JSON object + */ + Http.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Http + * @function getTypeUrl + * @memberof google.api.Http + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Http.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.Http"; + }; + + return Http; + })(); + + api.HttpRule = (function() { + + /** + * Properties of a HttpRule. + * @memberof google.api + * @interface IHttpRule + * @property {string|null} [selector] HttpRule selector + * @property {string|null} [get] HttpRule get + * @property {string|null} [put] HttpRule put + * @property {string|null} [post] HttpRule post + * @property {string|null} ["delete"] HttpRule delete + * @property {string|null} [patch] HttpRule patch + * @property {google.api.ICustomHttpPattern|null} [custom] HttpRule custom + * @property {string|null} [body] HttpRule body + * @property {string|null} [responseBody] HttpRule responseBody + * @property {Array.|null} [additionalBindings] HttpRule additionalBindings + */ + + /** + * Constructs a new HttpRule. + * @memberof google.api + * @classdesc Represents a HttpRule. + * @implements IHttpRule + * @constructor + * @param {google.api.IHttpRule=} [properties] Properties to set + */ + function HttpRule(properties) { + this.additionalBindings = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * HttpRule selector. + * @member {string} selector + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.selector = ""; + + /** + * HttpRule get. + * @member {string|null|undefined} get + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.get = null; + + /** + * HttpRule put. + * @member {string|null|undefined} put + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.put = null; + + /** + * HttpRule post. + * @member {string|null|undefined} post + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.post = null; + + /** + * HttpRule delete. + * @member {string|null|undefined} delete + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype["delete"] = null; + + /** + * HttpRule patch. + * @member {string|null|undefined} patch + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.patch = null; + + /** + * HttpRule custom. + * @member {google.api.ICustomHttpPattern|null|undefined} custom + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.custom = null; + + /** + * HttpRule body. + * @member {string} body + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.body = ""; + + /** + * HttpRule responseBody. + * @member {string} responseBody + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.responseBody = ""; + + /** + * HttpRule additionalBindings. + * @member {Array.} additionalBindings + * @memberof google.api.HttpRule + * @instance + */ + HttpRule.prototype.additionalBindings = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * HttpRule pattern. + * @member {"get"|"put"|"post"|"delete"|"patch"|"custom"|undefined} pattern + * @memberof google.api.HttpRule + * @instance + */ + Object.defineProperty(HttpRule.prototype, "pattern", { + get: $util.oneOfGetter($oneOfFields = ["get", "put", "post", "delete", "patch", "custom"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new HttpRule instance using the specified properties. + * @function create + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule=} [properties] Properties to set + * @returns {google.api.HttpRule} HttpRule instance + */ + HttpRule.create = function create(properties) { + return new HttpRule(properties); + }; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encode + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.selector != null && Object.hasOwnProperty.call(message, "selector")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.selector); + if (message.get != null && Object.hasOwnProperty.call(message, "get")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.get); + if (message.put != null && Object.hasOwnProperty.call(message, "put")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.put); + if (message.post != null && Object.hasOwnProperty.call(message, "post")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.post); + if (message["delete"] != null && Object.hasOwnProperty.call(message, "delete")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message["delete"]); + if (message.patch != null && Object.hasOwnProperty.call(message, "patch")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.patch); + if (message.body != null && Object.hasOwnProperty.call(message, "body")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.body); + if (message.custom != null && Object.hasOwnProperty.call(message, "custom")) + $root.google.api.CustomHttpPattern.encode(message.custom, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim(); + if (message.additionalBindings != null && message.additionalBindings.length) + for (var i = 0; i < message.additionalBindings.length; ++i) + $root.google.api.HttpRule.encode(message.additionalBindings[i], writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.responseBody != null && Object.hasOwnProperty.call(message, "responseBody")) + writer.uint32(/* id 12, wireType 2 =*/98).string(message.responseBody); + return writer; + }; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {google.api.IHttpRule} message HttpRule message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + HttpRule.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @function decode + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.HttpRule(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.selector = reader.string(); + break; + } + case 2: { + message.get = reader.string(); + break; + } + case 3: { + message.put = reader.string(); + break; + } + case 4: { + message.post = reader.string(); + break; + } + case 5: { + message["delete"] = reader.string(); + break; + } + case 6: { + message.patch = reader.string(); + break; + } + case 8: { + message.custom = $root.google.api.CustomHttpPattern.decode(reader, reader.uint32()); + break; + } + case 7: { + message.body = reader.string(); + break; + } + case 12: { + message.responseBody = reader.string(); + break; + } + case 11: { + if (!(message.additionalBindings && message.additionalBindings.length)) + message.additionalBindings = []; + message.additionalBindings.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.HttpRule + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.HttpRule} HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + HttpRule.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a HttpRule message. + * @function verify + * @memberof google.api.HttpRule + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + HttpRule.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.selector != null && message.hasOwnProperty("selector")) + if (!$util.isString(message.selector)) + return "selector: string expected"; + if (message.get != null && message.hasOwnProperty("get")) { + properties.pattern = 1; + if (!$util.isString(message.get)) + return "get: string expected"; + } + if (message.put != null && message.hasOwnProperty("put")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.put)) + return "put: string expected"; + } + if (message.post != null && message.hasOwnProperty("post")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.post)) + return "post: string expected"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message["delete"])) + return "delete: string expected"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + if (!$util.isString(message.patch)) + return "patch: string expected"; + } + if (message.custom != null && message.hasOwnProperty("custom")) { + if (properties.pattern === 1) + return "pattern: multiple values"; + properties.pattern = 1; + { + var error = $root.google.api.CustomHttpPattern.verify(message.custom); + if (error) + return "custom." + error; + } + } + if (message.body != null && message.hasOwnProperty("body")) + if (!$util.isString(message.body)) + return "body: string expected"; + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + if (!$util.isString(message.responseBody)) + return "responseBody: string expected"; + if (message.additionalBindings != null && message.hasOwnProperty("additionalBindings")) { + if (!Array.isArray(message.additionalBindings)) + return "additionalBindings: array expected"; + for (var i = 0; i < message.additionalBindings.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.additionalBindings[i]); + if (error) + return "additionalBindings." + error; + } + } + return null; + }; + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.HttpRule + * @static + * @param {Object.} object Plain object + * @returns {google.api.HttpRule} HttpRule + */ + HttpRule.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.HttpRule) + return object; + var message = new $root.google.api.HttpRule(); + if (object.selector != null) + message.selector = String(object.selector); + if (object.get != null) + message.get = String(object.get); + if (object.put != null) + message.put = String(object.put); + if (object.post != null) + message.post = String(object.post); + if (object["delete"] != null) + message["delete"] = String(object["delete"]); + if (object.patch != null) + message.patch = String(object.patch); + if (object.custom != null) { + if (typeof object.custom !== "object") + throw TypeError(".google.api.HttpRule.custom: object expected"); + message.custom = $root.google.api.CustomHttpPattern.fromObject(object.custom); + } + if (object.body != null) + message.body = String(object.body); + if (object.responseBody != null) + message.responseBody = String(object.responseBody); + if (object.additionalBindings) { + if (!Array.isArray(object.additionalBindings)) + throw TypeError(".google.api.HttpRule.additionalBindings: array expected"); + message.additionalBindings = []; + for (var i = 0; i < object.additionalBindings.length; ++i) { + if (typeof object.additionalBindings[i] !== "object") + throw TypeError(".google.api.HttpRule.additionalBindings: object expected"); + message.additionalBindings[i] = $root.google.api.HttpRule.fromObject(object.additionalBindings[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.HttpRule + * @static + * @param {google.api.HttpRule} message HttpRule + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + HttpRule.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.additionalBindings = []; + if (options.defaults) { + object.selector = ""; + object.body = ""; + object.responseBody = ""; + } + if (message.selector != null && message.hasOwnProperty("selector")) + object.selector = message.selector; + if (message.get != null && message.hasOwnProperty("get")) { + object.get = message.get; + if (options.oneofs) + object.pattern = "get"; + } + if (message.put != null && message.hasOwnProperty("put")) { + object.put = message.put; + if (options.oneofs) + object.pattern = "put"; + } + if (message.post != null && message.hasOwnProperty("post")) { + object.post = message.post; + if (options.oneofs) + object.pattern = "post"; + } + if (message["delete"] != null && message.hasOwnProperty("delete")) { + object["delete"] = message["delete"]; + if (options.oneofs) + object.pattern = "delete"; + } + if (message.patch != null && message.hasOwnProperty("patch")) { + object.patch = message.patch; + if (options.oneofs) + object.pattern = "patch"; + } + if (message.body != null && message.hasOwnProperty("body")) + object.body = message.body; + if (message.custom != null && message.hasOwnProperty("custom")) { + object.custom = $root.google.api.CustomHttpPattern.toObject(message.custom, options); + if (options.oneofs) + object.pattern = "custom"; + } + if (message.additionalBindings && message.additionalBindings.length) { + object.additionalBindings = []; + for (var j = 0; j < message.additionalBindings.length; ++j) + object.additionalBindings[j] = $root.google.api.HttpRule.toObject(message.additionalBindings[j], options); + } + if (message.responseBody != null && message.hasOwnProperty("responseBody")) + object.responseBody = message.responseBody; + return object; + }; + + /** + * Converts this HttpRule to JSON. + * @function toJSON + * @memberof google.api.HttpRule + * @instance + * @returns {Object.} JSON object + */ + HttpRule.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for HttpRule + * @function getTypeUrl + * @memberof google.api.HttpRule + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + HttpRule.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.HttpRule"; + }; + + return HttpRule; + })(); + + api.CustomHttpPattern = (function() { + + /** + * Properties of a CustomHttpPattern. + * @memberof google.api + * @interface ICustomHttpPattern + * @property {string|null} [kind] CustomHttpPattern kind + * @property {string|null} [path] CustomHttpPattern path + */ + + /** + * Constructs a new CustomHttpPattern. + * @memberof google.api + * @classdesc Represents a CustomHttpPattern. + * @implements ICustomHttpPattern + * @constructor + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + */ + function CustomHttpPattern(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomHttpPattern kind. + * @member {string} kind + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.kind = ""; + + /** + * CustomHttpPattern path. + * @member {string} path + * @memberof google.api.CustomHttpPattern + * @instance + */ + CustomHttpPattern.prototype.path = ""; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @function create + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern=} [properties] Properties to set + * @returns {google.api.CustomHttpPattern} CustomHttpPattern instance + */ + CustomHttpPattern.create = function create(properties) { + return new CustomHttpPattern(properties); + }; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encode + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.kind != null && Object.hasOwnProperty.call(message, "kind")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.kind); + if (message.path != null && Object.hasOwnProperty.call(message, "path")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.path); + return writer; + }; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.ICustomHttpPattern} message CustomHttpPattern message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomHttpPattern.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @function decode + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.CustomHttpPattern(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.kind = reader.string(); + break; + } + case 2: { + message.path = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.CustomHttpPattern + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomHttpPattern.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomHttpPattern message. + * @function verify + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomHttpPattern.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.kind != null && message.hasOwnProperty("kind")) + if (!$util.isString(message.kind)) + return "kind: string expected"; + if (message.path != null && message.hasOwnProperty("path")) + if (!$util.isString(message.path)) + return "path: string expected"; + return null; + }; + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {Object.} object Plain object + * @returns {google.api.CustomHttpPattern} CustomHttpPattern + */ + CustomHttpPattern.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.CustomHttpPattern) + return object; + var message = new $root.google.api.CustomHttpPattern(); + if (object.kind != null) + message.kind = String(object.kind); + if (object.path != null) + message.path = String(object.path); + return message; + }; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.CustomHttpPattern + * @static + * @param {google.api.CustomHttpPattern} message CustomHttpPattern + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomHttpPattern.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.kind = ""; + object.path = ""; + } + if (message.kind != null && message.hasOwnProperty("kind")) + object.kind = message.kind; + if (message.path != null && message.hasOwnProperty("path")) + object.path = message.path; + return object; + }; + + /** + * Converts this CustomHttpPattern to JSON. + * @function toJSON + * @memberof google.api.CustomHttpPattern + * @instance + * @returns {Object.} JSON object + */ + CustomHttpPattern.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomHttpPattern + * @function getTypeUrl + * @memberof google.api.CustomHttpPattern + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomHttpPattern.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.CustomHttpPattern"; + }; + + return CustomHttpPattern; + })(); + + return api; + })(); + + google.longrunning = (function() { + + /** + * Namespace longrunning. + * @memberof google + * @namespace + */ + var longrunning = {}; + + longrunning.Operations = (function() { + + /** + * Constructs a new Operations service. + * @memberof google.longrunning + * @classdesc Represents an Operations + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function Operations(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Operations.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Operations; + + /** + * Creates new Operations service using the specified rpc implementation. + * @function create + * @memberof google.longrunning.Operations + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {Operations} RPC service. Useful where requests and/or responses are streamed. + */ + Operations.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.longrunning.Operations|listOperations}. + * @memberof google.longrunning.Operations + * @typedef ListOperationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.ListOperationsResponse} [response] ListOperationsResponse + */ + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @param {google.longrunning.Operations.ListOperationsCallback} callback Node-style callback called with the error, if any, and ListOperationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.listOperations = function listOperations(request, callback) { + return this.rpcCall(listOperations, $root.google.longrunning.ListOperationsRequest, $root.google.longrunning.ListOperationsResponse, request, callback); + }, "name", { value: "ListOperations" }); + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|getOperation}. + * @memberof google.longrunning.Operations + * @typedef GetOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @param {google.longrunning.Operations.GetOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.getOperation = function getOperation(request, callback) { + return this.rpcCall(getOperation, $root.google.longrunning.GetOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "GetOperation" }); + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. + * @memberof google.longrunning.Operations + * @typedef DeleteOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @param {google.longrunning.Operations.DeleteOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.deleteOperation = function deleteOperation(request, callback) { + return this.rpcCall(deleteOperation, $root.google.longrunning.DeleteOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteOperation" }); + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. + * @memberof google.longrunning.Operations + * @typedef CancelOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @param {google.longrunning.Operations.CancelOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.cancelOperation = function cancelOperation(request, callback) { + return this.rpcCall(cancelOperation, $root.google.longrunning.CancelOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "CancelOperation" }); + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|waitOperation}. + * @memberof google.longrunning.Operations + * @typedef WaitOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @param {google.longrunning.Operations.WaitOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.waitOperation = function waitOperation(request, callback) { + return this.rpcCall(waitOperation, $root.google.longrunning.WaitOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "WaitOperation" }); + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Operations; + })(); + + longrunning.Operation = (function() { + + /** + * Properties of an Operation. + * @memberof google.longrunning + * @interface IOperation + * @property {string|null} [name] Operation name + * @property {google.protobuf.IAny|null} [metadata] Operation metadata + * @property {boolean|null} [done] Operation done + * @property {google.rpc.IStatus|null} [error] Operation error + * @property {google.protobuf.IAny|null} [response] Operation response + */ + + /** + * Constructs a new Operation. + * @memberof google.longrunning + * @classdesc Represents an Operation. + * @implements IOperation + * @constructor + * @param {google.longrunning.IOperation=} [properties] Properties to set + */ + function Operation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Operation name. + * @member {string} name + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.name = ""; + + /** + * Operation metadata. + * @member {google.protobuf.IAny|null|undefined} metadata + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.metadata = null; + + /** + * Operation done. + * @member {boolean} done + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.done = false; + + /** + * Operation error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.error = null; + + /** + * Operation response. + * @member {google.protobuf.IAny|null|undefined} response + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.response = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Operation result. + * @member {"error"|"response"|undefined} result + * @memberof google.longrunning.Operation + * @instance + */ + Object.defineProperty(Operation.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "response"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Operation instance using the specified properties. + * @function create + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation=} [properties] Properties to set + * @returns {google.longrunning.Operation} Operation instance + */ + Operation.create = function create(properties) { + return new Operation(properties); + }; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encode + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.done != null && Object.hasOwnProperty.call(message, "done")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.response != null && Object.hasOwnProperty.call(message, "response")) + $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + case 3: { + message.done = reader.bool(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 5: { + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Operation message. + * @function verify + * @memberof google.longrunning.Operation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Operation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.google.protobuf.Any.verify(message.metadata); + if (error) + return "metadata." + error; + } + if (message.done != null && message.hasOwnProperty("done")) + if (typeof message.done !== "boolean") + return "done: boolean expected"; + if (message.error != null && message.hasOwnProperty("error")) { + properties.result = 1; + { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + } + if (message.response != null && message.hasOwnProperty("response")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.google.protobuf.Any.verify(message.response); + if (error) + return "response." + error; + } + } + return null; + }; + + /** + * Creates an Operation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.Operation + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.Operation} Operation + */ + Operation.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.Operation) + return object; + var message = new $root.google.longrunning.Operation(); + if (object.name != null) + message.name = String(object.name); + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".google.longrunning.Operation.metadata: object expected"); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + } + if (object.done != null) + message.done = Boolean(object.done); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.longrunning.Operation.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.response != null) { + if (typeof object.response !== "object") + throw TypeError(".google.longrunning.Operation.response: object expected"); + message.response = $root.google.protobuf.Any.fromObject(object.response); + } + return message; + }; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.Operation} message Operation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Operation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.metadata = null; + object.done = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.google.protobuf.Any.toObject(message.metadata, options); + if (message.done != null && message.hasOwnProperty("done")) + object.done = message.done; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.response != null && message.hasOwnProperty("response")) { + object.response = $root.google.protobuf.Any.toObject(message.response, options); + if (options.oneofs) + object.result = "response"; + } + return object; + }; + + /** + * Converts this Operation to JSON. + * @function toJSON + * @memberof google.longrunning.Operation + * @instance + * @returns {Object.} JSON object + */ + Operation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Operation + * @function getTypeUrl + * @memberof google.longrunning.Operation + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Operation.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.Operation"; + }; + + return Operation; + })(); + + longrunning.GetOperationRequest = (function() { + + /** + * Properties of a GetOperationRequest. + * @memberof google.longrunning + * @interface IGetOperationRequest + * @property {string|null} [name] GetOperationRequest name + */ + + /** + * Constructs a new GetOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a GetOperationRequest. + * @implements IGetOperationRequest + * @constructor + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + */ + function GetOperationRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GetOperationRequest name. + * @member {string} name + * @memberof google.longrunning.GetOperationRequest + * @instance + */ + GetOperationRequest.prototype.name = ""; + + /** + * Creates a new GetOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest instance + */ + GetOperationRequest.create = function create(properties) { + return new GetOperationRequest(properties); + }; + + /** + * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.IGetOperationRequest} message GetOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.GetOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetOperationRequest message. + * @function verify + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetOperationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.GetOperationRequest} GetOperationRequest + */ + GetOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.GetOperationRequest) + return object; + var message = new $root.google.longrunning.GetOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {google.longrunning.GetOperationRequest} message GetOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this GetOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.GetOperationRequest + * @instance + * @returns {Object.} JSON object + */ + GetOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.GetOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.GetOperationRequest"; + }; + + return GetOperationRequest; + })(); + + longrunning.ListOperationsRequest = (function() { + + /** + * Properties of a ListOperationsRequest. + * @memberof google.longrunning + * @interface IListOperationsRequest + * @property {string|null} [name] ListOperationsRequest name + * @property {string|null} [filter] ListOperationsRequest filter + * @property {number|null} [pageSize] ListOperationsRequest pageSize + * @property {string|null} [pageToken] ListOperationsRequest pageToken + */ + + /** + * Constructs a new ListOperationsRequest. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsRequest. + * @implements IListOperationsRequest + * @constructor + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + */ + function ListOperationsRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListOperationsRequest name. + * @member {string} name + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.name = ""; + + /** + * ListOperationsRequest filter. + * @member {string} filter + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.filter = ""; + + /** + * ListOperationsRequest pageSize. + * @member {number} pageSize + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageSize = 0; + + /** + * ListOperationsRequest pageToken. + * @member {string} pageToken + * @memberof google.longrunning.ListOperationsRequest + * @instance + */ + ListOperationsRequest.prototype.pageToken = ""; + + /** + * Creates a new ListOperationsRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest instance + */ + ListOperationsRequest.create = function create(properties) { + return new ListOperationsRequest(properties); + }; + + /** + * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.filter != null && Object.hasOwnProperty.call(message, "filter")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.filter); + if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize); + if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.name); + return writer; + }; + + /** + * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.IListOperationsRequest} message ListOperationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 4: { + message.name = reader.string(); + break; + } + case 1: { + message.filter = reader.string(); + break; + } + case 2: { + message.pageSize = reader.int32(); + break; + } + case 3: { + message.pageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsRequest message. + * @function verify + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.filter != null && message.hasOwnProperty("filter")) + if (!$util.isString(message.filter)) + return "filter: string expected"; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + if (!$util.isInteger(message.pageSize)) + return "pageSize: integer expected"; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + if (!$util.isString(message.pageToken)) + return "pageToken: string expected"; + return null; + }; + + /** + * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsRequest} ListOperationsRequest + */ + ListOperationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsRequest) + return object; + var message = new $root.google.longrunning.ListOperationsRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.filter != null) + message.filter = String(object.filter); + if (object.pageSize != null) + message.pageSize = object.pageSize | 0; + if (object.pageToken != null) + message.pageToken = String(object.pageToken); + return message; + }; + + /** + * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {google.longrunning.ListOperationsRequest} message ListOperationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.filter = ""; + object.pageSize = 0; + object.pageToken = ""; + object.name = ""; + } + if (message.filter != null && message.hasOwnProperty("filter")) + object.filter = message.filter; + if (message.pageSize != null && message.hasOwnProperty("pageSize")) + object.pageSize = message.pageSize; + if (message.pageToken != null && message.hasOwnProperty("pageToken")) + object.pageToken = message.pageToken; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this ListOperationsRequest to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListOperationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListOperationsRequest + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsRequest"; + }; + + return ListOperationsRequest; + })(); + + longrunning.ListOperationsResponse = (function() { + + /** + * Properties of a ListOperationsResponse. + * @memberof google.longrunning + * @interface IListOperationsResponse + * @property {Array.|null} [operations] ListOperationsResponse operations + * @property {string|null} [nextPageToken] ListOperationsResponse nextPageToken + */ + + /** + * Constructs a new ListOperationsResponse. + * @memberof google.longrunning + * @classdesc Represents a ListOperationsResponse. + * @implements IListOperationsResponse + * @constructor + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + */ + function ListOperationsResponse(properties) { + this.operations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListOperationsResponse operations. + * @member {Array.} operations + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.operations = $util.emptyArray; + + /** + * ListOperationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.longrunning.ListOperationsResponse + * @instance + */ + ListOperationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListOperationsResponse instance using the specified properties. + * @function create + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse=} [properties] Properties to set + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse instance + */ + ListOperationsResponse.create = function create(properties) { + return new ListOperationsResponse(properties); + }; + + /** + * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.operations != null && message.operations.length) + for (var i = 0; i < message.operations.length; ++i) + $root.google.longrunning.Operation.encode(message.operations[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.nextPageToken); + return writer; + }; + + /** + * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.IListOperationsResponse} message ListOperationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListOperationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.ListOperationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.operations && message.operations.length)) + message.operations = []; + message.operations.push($root.google.longrunning.Operation.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListOperationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListOperationsResponse message. + * @function verify + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListOperationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.operations != null && message.hasOwnProperty("operations")) { + if (!Array.isArray(message.operations)) + return "operations: array expected"; + for (var i = 0; i < message.operations.length; ++i) { + var error = $root.google.longrunning.Operation.verify(message.operations[i]); + if (error) + return "operations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.ListOperationsResponse} ListOperationsResponse + */ + ListOperationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.ListOperationsResponse) + return object; + var message = new $root.google.longrunning.ListOperationsResponse(); + if (object.operations) { + if (!Array.isArray(object.operations)) + throw TypeError(".google.longrunning.ListOperationsResponse.operations: array expected"); + message.operations = []; + for (var i = 0; i < object.operations.length; ++i) { + if (typeof object.operations[i] !== "object") + throw TypeError(".google.longrunning.ListOperationsResponse.operations: object expected"); + message.operations[i] = $root.google.longrunning.Operation.fromObject(object.operations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {google.longrunning.ListOperationsResponse} message ListOperationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListOperationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.operations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.operations && message.operations.length) { + object.operations = []; + for (var j = 0; j < message.operations.length; ++j) + object.operations[j] = $root.google.longrunning.Operation.toObject(message.operations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListOperationsResponse to JSON. + * @function toJSON + * @memberof google.longrunning.ListOperationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListOperationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListOperationsResponse + * @function getTypeUrl + * @memberof google.longrunning.ListOperationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListOperationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.ListOperationsResponse"; + }; + + return ListOperationsResponse; + })(); + + longrunning.CancelOperationRequest = (function() { + + /** + * Properties of a CancelOperationRequest. + * @memberof google.longrunning + * @interface ICancelOperationRequest + * @property {string|null} [name] CancelOperationRequest name + */ + + /** + * Constructs a new CancelOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a CancelOperationRequest. + * @implements ICancelOperationRequest + * @constructor + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + */ + function CancelOperationRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CancelOperationRequest name. + * @member {string} name + * @memberof google.longrunning.CancelOperationRequest + * @instance + */ + CancelOperationRequest.prototype.name = ""; + + /** + * Creates a new CancelOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest instance + */ + CancelOperationRequest.create = function create(properties) { + return new CancelOperationRequest(properties); + }; + + /** + * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.ICancelOperationRequest} message CancelOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CancelOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.CancelOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CancelOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CancelOperationRequest message. + * @function verify + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CancelOperationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.CancelOperationRequest} CancelOperationRequest + */ + CancelOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.CancelOperationRequest) + return object; + var message = new $root.google.longrunning.CancelOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {google.longrunning.CancelOperationRequest} message CancelOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CancelOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this CancelOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.CancelOperationRequest + * @instance + * @returns {Object.} JSON object + */ + CancelOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CancelOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.CancelOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CancelOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.CancelOperationRequest"; + }; + + return CancelOperationRequest; + })(); + + longrunning.DeleteOperationRequest = (function() { + + /** + * Properties of a DeleteOperationRequest. + * @memberof google.longrunning + * @interface IDeleteOperationRequest + * @property {string|null} [name] DeleteOperationRequest name + */ + + /** + * Constructs a new DeleteOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a DeleteOperationRequest. + * @implements IDeleteOperationRequest + * @constructor + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + */ + function DeleteOperationRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DeleteOperationRequest name. + * @member {string} name + * @memberof google.longrunning.DeleteOperationRequest + * @instance + */ + DeleteOperationRequest.prototype.name = ""; + + /** + * Creates a new DeleteOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest instance + */ + DeleteOperationRequest.create = function create(properties) { + return new DeleteOperationRequest(properties); + }; + + /** + * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + return writer; + }; + + /** + * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.IDeleteOperationRequest} message DeleteOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.DeleteOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteOperationRequest message. + * @function verify + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteOperationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + return null; + }; + + /** + * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.DeleteOperationRequest} DeleteOperationRequest + */ + DeleteOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.DeleteOperationRequest) + return object; + var message = new $root.google.longrunning.DeleteOperationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {google.longrunning.DeleteOperationRequest} message DeleteOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.name = ""; + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + return object; + }; + + /** + * Converts this DeleteOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.DeleteOperationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.DeleteOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.DeleteOperationRequest"; + }; + + return DeleteOperationRequest; + })(); + + longrunning.WaitOperationRequest = (function() { + + /** + * Properties of a WaitOperationRequest. + * @memberof google.longrunning + * @interface IWaitOperationRequest + * @property {string|null} [name] WaitOperationRequest name + * @property {google.protobuf.IDuration|null} [timeout] WaitOperationRequest timeout + */ + + /** + * Constructs a new WaitOperationRequest. + * @memberof google.longrunning + * @classdesc Represents a WaitOperationRequest. + * @implements IWaitOperationRequest + * @constructor + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + */ + function WaitOperationRequest(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * WaitOperationRequest name. + * @member {string} name + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.name = ""; + + /** + * WaitOperationRequest timeout. + * @member {google.protobuf.IDuration|null|undefined} timeout + * @memberof google.longrunning.WaitOperationRequest + * @instance + */ + WaitOperationRequest.prototype.timeout = null; + + /** + * Creates a new WaitOperationRequest instance using the specified properties. + * @function create + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest=} [properties] Properties to set + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest instance + */ + WaitOperationRequest.create = function create(properties) { + return new WaitOperationRequest(properties); + }; + + /** + * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.timeout != null && Object.hasOwnProperty.call(message, "timeout")) + $root.google.protobuf.Duration.encode(message.timeout, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.IWaitOperationRequest} message WaitOperationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + WaitOperationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.WaitOperationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.timeout = $root.google.protobuf.Duration.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + WaitOperationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a WaitOperationRequest message. + * @function verify + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + WaitOperationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.timeout != null && message.hasOwnProperty("timeout")) { + var error = $root.google.protobuf.Duration.verify(message.timeout); + if (error) + return "timeout." + error; + } + return null; + }; + + /** + * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.WaitOperationRequest} WaitOperationRequest + */ + WaitOperationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.WaitOperationRequest) + return object; + var message = new $root.google.longrunning.WaitOperationRequest(); + if (object.name != null) + message.name = String(object.name); + if (object.timeout != null) { + if (typeof object.timeout !== "object") + throw TypeError(".google.longrunning.WaitOperationRequest.timeout: object expected"); + message.timeout = $root.google.protobuf.Duration.fromObject(object.timeout); + } + return message; + }; + + /** + * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {google.longrunning.WaitOperationRequest} message WaitOperationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + WaitOperationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.timeout = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.timeout != null && message.hasOwnProperty("timeout")) + object.timeout = $root.google.protobuf.Duration.toObject(message.timeout, options); + return object; + }; + + /** + * Converts this WaitOperationRequest to JSON. + * @function toJSON + * @memberof google.longrunning.WaitOperationRequest + * @instance + * @returns {Object.} JSON object + */ + WaitOperationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for WaitOperationRequest + * @function getTypeUrl + * @memberof google.longrunning.WaitOperationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + WaitOperationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.WaitOperationRequest"; + }; + + return WaitOperationRequest; + })(); + + longrunning.OperationInfo = (function() { + + /** + * Properties of an OperationInfo. + * @memberof google.longrunning + * @interface IOperationInfo + * @property {string|null} [responseType] OperationInfo responseType + * @property {string|null} [metadataType] OperationInfo metadataType + */ + + /** + * Constructs a new OperationInfo. + * @memberof google.longrunning + * @classdesc Represents an OperationInfo. + * @implements IOperationInfo + * @constructor + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + */ + function OperationInfo(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationInfo responseType. + * @member {string} responseType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.responseType = ""; + + /** + * OperationInfo metadataType. + * @member {string} metadataType + * @memberof google.longrunning.OperationInfo + * @instance + */ + OperationInfo.prototype.metadataType = ""; + + /** + * Creates a new OperationInfo instance using the specified properties. + * @function create + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo=} [properties] Properties to set + * @returns {google.longrunning.OperationInfo} OperationInfo instance + */ + OperationInfo.create = function create(properties) { + return new OperationInfo(properties); + }; + + /** + * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encode + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.responseType != null && Object.hasOwnProperty.call(message, "responseType")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.responseType); + if (message.metadataType != null && Object.hasOwnProperty.call(message, "metadataType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.metadataType); + return writer; + }; + + /** + * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.IOperationInfo} message OperationInfo message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationInfo.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.OperationInfo(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.responseType = reader.string(); + break; + } + case 2: { + message.metadataType = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationInfo message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.OperationInfo + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.OperationInfo} OperationInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationInfo.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationInfo message. + * @function verify + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationInfo.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.responseType != null && message.hasOwnProperty("responseType")) + if (!$util.isString(message.responseType)) + return "responseType: string expected"; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + if (!$util.isString(message.metadataType)) + return "metadataType: string expected"; + return null; + }; + + /** + * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.OperationInfo} OperationInfo + */ + OperationInfo.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.OperationInfo) + return object; + var message = new $root.google.longrunning.OperationInfo(); + if (object.responseType != null) + message.responseType = String(object.responseType); + if (object.metadataType != null) + message.metadataType = String(object.metadataType); + return message; + }; + + /** + * Creates a plain object from an OperationInfo message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.OperationInfo + * @static + * @param {google.longrunning.OperationInfo} message OperationInfo + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationInfo.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.responseType = ""; + object.metadataType = ""; + } + if (message.responseType != null && message.hasOwnProperty("responseType")) + object.responseType = message.responseType; + if (message.metadataType != null && message.hasOwnProperty("metadataType")) + object.metadataType = message.metadataType; + return object; + }; + + /** + * Converts this OperationInfo to JSON. + * @function toJSON + * @memberof google.longrunning.OperationInfo + * @instance + * @returns {Object.} JSON object + */ + OperationInfo.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OperationInfo + * @function getTypeUrl + * @memberof google.longrunning.OperationInfo + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.longrunning.OperationInfo"; + }; + + return OperationInfo; + })(); + + return longrunning; + })(); + + google.rpc = (function() { + + /** + * Namespace rpc. + * @memberof google + * @namespace + */ + var rpc = {}; + + rpc.Status = (function() { + + /** + * Properties of a Status. + * @memberof google.rpc + * @interface IStatus + * @property {number|null} [code] Status code + * @property {string|null} [message] Status message + * @property {Array.|null} [details] Status details + */ + + /** + * Constructs a new Status. + * @memberof google.rpc + * @classdesc Represents a Status. + * @implements IStatus + * @constructor + * @param {google.rpc.IStatus=} [properties] Properties to set + */ + function Status(properties) { + this.details = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Status code. + * @member {number} code + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.code = 0; + + /** + * Status message. + * @member {string} message + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.message = ""; + + /** + * Status details. + * @member {Array.} details + * @memberof google.rpc.Status + * @instance + */ + Status.prototype.details = $util.emptyArray; + + /** + * Creates a new Status instance using the specified properties. + * @function create + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus=} [properties] Properties to set + * @returns {google.rpc.Status} Status instance + */ + Status.create = function create(properties) { + return new Status(properties); + }; + + /** + * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encode + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.code); + if (message.message != null && Object.hasOwnProperty.call(message, "message")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.message); + if (message.details != null && message.details.length) + for (var i = 0; i < message.details.length; ++i) + $root.google.protobuf.Any.encode(message.details[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages. + * @function encodeDelimited + * @memberof google.rpc.Status + * @static + * @param {google.rpc.IStatus} message Status message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Status.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Status message from the specified reader or buffer. + * @function decode + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.rpc.Status(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.int32(); + break; + } + case 2: { + message.message = reader.string(); + break; + } + case 3: { + if (!(message.details && message.details.length)) + message.details = []; + message.details.push($root.google.protobuf.Any.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Status message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.rpc.Status + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.rpc.Status} Status + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Status.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Status message. + * @function verify + * @memberof google.rpc.Status + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Status.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isInteger(message.code)) + return "code: integer expected"; + if (message.message != null && message.hasOwnProperty("message")) + if (!$util.isString(message.message)) + return "message: string expected"; + if (message.details != null && message.hasOwnProperty("details")) { + if (!Array.isArray(message.details)) + return "details: array expected"; + for (var i = 0; i < message.details.length; ++i) { + var error = $root.google.protobuf.Any.verify(message.details[i]); + if (error) + return "details." + error; + } + } + return null; + }; + + /** + * Creates a Status message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.rpc.Status + * @static + * @param {Object.} object Plain object + * @returns {google.rpc.Status} Status + */ + Status.fromObject = function fromObject(object) { + if (object instanceof $root.google.rpc.Status) + return object; + var message = new $root.google.rpc.Status(); + if (object.code != null) + message.code = object.code | 0; + if (object.message != null) + message.message = String(object.message); + if (object.details) { + if (!Array.isArray(object.details)) + throw TypeError(".google.rpc.Status.details: array expected"); + message.details = []; + for (var i = 0; i < object.details.length; ++i) { + if (typeof object.details[i] !== "object") + throw TypeError(".google.rpc.Status.details: object expected"); + message.details[i] = $root.google.protobuf.Any.fromObject(object.details[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a Status message. Also converts values to other types if specified. + * @function toObject + * @memberof google.rpc.Status + * @static + * @param {google.rpc.Status} message Status + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Status.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.details = []; + if (options.defaults) { + object.code = 0; + object.message = ""; + } + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + if (message.message != null && message.hasOwnProperty("message")) + object.message = message.message; + if (message.details && message.details.length) { + object.details = []; + for (var j = 0; j < message.details.length; ++j) + object.details[j] = $root.google.protobuf.Any.toObject(message.details[j], options); + } + return object; + }; + + /** + * Converts this Status to JSON. + * @function toJSON + * @memberof google.rpc.Status + * @instance + * @returns {Object.} JSON object + */ + Status.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Status + * @function getTypeUrl + * @memberof google.rpc.Status + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Status.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.rpc.Status"; + }; + + return Status; + })(); + + return rpc; + })(); + + return google; + })(); + + return $root; +}); diff --git a/packages/google-api-serviceusage/protos/protos.json b/packages/google-api-serviceusage/protos/protos.json new file mode 100644 index 00000000000..df05ef0fc43 --- /dev/null +++ b/packages/google-api-serviceusage/protos/protos.json @@ -0,0 +1,3602 @@ +{ + "nested": { + "google": { + "nested": { + "protobuf": { + "options": { + "csharp_namespace": "Google.Protobuf.Reflection", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "java_multiple_files": true, + "objc_class_prefix": "GPB", + "go_package": "google.golang.org/protobuf/types/descriptorpb", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "Struct": { + "fields": { + "fields": { + "keyType": "string", + "type": "Value", + "id": 1 + } + } + }, + "Value": { + "oneofs": { + "kind": { + "oneof": [ + "nullValue", + "numberValue", + "stringValue", + "boolValue", + "structValue", + "listValue" + ] + } + }, + "fields": { + "nullValue": { + "type": "NullValue", + "id": 1 + }, + "numberValue": { + "type": "double", + "id": 2 + }, + "stringValue": { + "type": "string", + "id": 3 + }, + "boolValue": { + "type": "bool", + "id": 4 + }, + "structValue": { + "type": "Struct", + "id": 5 + }, + "listValue": { + "type": "ListValue", + "id": 6 + } + } + }, + "NullValue": { + "values": { + "NULL_VALUE": 0 + } + }, + "ListValue": { + "fields": { + "values": { + "rule": "repeated", + "type": "Value", + "id": 1 + } + } + }, + "Api": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "methods": { + "rule": "repeated", + "type": "Method", + "id": 2 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 3 + }, + "version": { + "type": "string", + "id": 4 + }, + "sourceContext": { + "type": "SourceContext", + "id": 5 + }, + "mixins": { + "rule": "repeated", + "type": "Mixin", + "id": 6 + }, + "syntax": { + "type": "Syntax", + "id": 7 + } + } + }, + "Method": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "requestTypeUrl": { + "type": "string", + "id": 2 + }, + "requestStreaming": { + "type": "bool", + "id": 3 + }, + "responseTypeUrl": { + "type": "string", + "id": 4 + }, + "responseStreaming": { + "type": "bool", + "id": 5 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 6 + }, + "syntax": { + "type": "Syntax", + "id": 7 + } + } + }, + "Mixin": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "root": { + "type": "string", + "id": 2 + } + } + }, + "SourceContext": { + "fields": { + "fileName": { + "type": "string", + "id": 1 + } + } + }, + "Type": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "fields": { + "rule": "repeated", + "type": "Field", + "id": 2 + }, + "oneofs": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 4 + }, + "sourceContext": { + "type": "SourceContext", + "id": 5 + }, + "syntax": { + "type": "Syntax", + "id": 6 + } + } + }, + "Field": { + "fields": { + "kind": { + "type": "Kind", + "id": 1 + }, + "cardinality": { + "type": "Cardinality", + "id": 2 + }, + "number": { + "type": "int32", + "id": 3 + }, + "name": { + "type": "string", + "id": 4 + }, + "typeUrl": { + "type": "string", + "id": 6 + }, + "oneofIndex": { + "type": "int32", + "id": 7 + }, + "packed": { + "type": "bool", + "id": 8 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "defaultValue": { + "type": "string", + "id": 11 + } + }, + "nested": { + "Kind": { + "values": { + "TYPE_UNKNOWN": 0, + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18 + } + }, + "Cardinality": { + "values": { + "CARDINALITY_UNKNOWN": 0, + "CARDINALITY_OPTIONAL": 1, + "CARDINALITY_REQUIRED": 2, + "CARDINALITY_REPEATED": 3 + } + } + } + }, + "Enum": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "enumvalue": { + "rule": "repeated", + "type": "EnumValue", + "id": 2 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 3 + }, + "sourceContext": { + "type": "SourceContext", + "id": 4 + }, + "syntax": { + "type": "Syntax", + "id": 5 + } + } + }, + "EnumValue": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "rule": "repeated", + "type": "Option", + "id": 3 + } + } + }, + "Option": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "type": "Any", + "id": 2 + } + } + }, + "Syntax": { + "values": { + "SYNTAX_PROTO2": 0, + "SYNTAX_PROTO3": 1 + } + }, + "Any": { + "fields": { + "type_url": { + "type": "string", + "id": 1 + }, + "value": { + "type": "bytes", + "id": 2 + } + } + }, + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + }, + "edition": { + "type": "string", + "id": 13 + } + } + }, + "DescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "field": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 2 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 6 + }, + "nestedType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 3 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 4 + }, + "extensionRange": { + "rule": "repeated", + "type": "ExtensionRange", + "id": 5 + }, + "oneofDecl": { + "rule": "repeated", + "type": "OneofDescriptorProto", + "id": 8 + }, + "options": { + "type": "MessageOptions", + "id": 7 + }, + "reservedRange": { + "rule": "repeated", + "type": "ReservedRange", + "id": 9 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 10 + } + }, + "nested": { + "ExtensionRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "ExtensionRangeOptions", + "id": 3 + } + } + }, + "ReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "ExtensionRangeOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "FieldDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 3 + }, + "label": { + "type": "Label", + "id": 4 + }, + "type": { + "type": "Type", + "id": 5 + }, + "typeName": { + "type": "string", + "id": 6 + }, + "extendee": { + "type": "string", + "id": 2 + }, + "defaultValue": { + "type": "string", + "id": 7 + }, + "oneofIndex": { + "type": "int32", + "id": 9 + }, + "jsonName": { + "type": "string", + "id": 10 + }, + "options": { + "type": "FieldOptions", + "id": 8 + }, + "proto3Optional": { + "type": "bool", + "id": 17 + } + }, + "nested": { + "Type": { + "values": { + "TYPE_DOUBLE": 1, + "TYPE_FLOAT": 2, + "TYPE_INT64": 3, + "TYPE_UINT64": 4, + "TYPE_INT32": 5, + "TYPE_FIXED64": 6, + "TYPE_FIXED32": 7, + "TYPE_BOOL": 8, + "TYPE_STRING": 9, + "TYPE_GROUP": 10, + "TYPE_MESSAGE": 11, + "TYPE_BYTES": 12, + "TYPE_UINT32": 13, + "TYPE_ENUM": 14, + "TYPE_SFIXED32": 15, + "TYPE_SFIXED64": 16, + "TYPE_SINT32": 17, + "TYPE_SINT64": 18 + } + }, + "Label": { + "values": { + "LABEL_OPTIONAL": 1, + "LABEL_REQUIRED": 2, + "LABEL_REPEATED": 3 + } + } + } + }, + "OneofDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "options": { + "type": "OneofOptions", + "id": 2 + } + } + }, + "EnumDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "value": { + "rule": "repeated", + "type": "EnumValueDescriptorProto", + "id": 2 + }, + "options": { + "type": "EnumOptions", + "id": 3 + }, + "reservedRange": { + "rule": "repeated", + "type": "EnumReservedRange", + "id": 4 + }, + "reservedName": { + "rule": "repeated", + "type": "string", + "id": 5 + } + }, + "nested": { + "EnumReservedRange": { + "fields": { + "start": { + "type": "int32", + "id": 1 + }, + "end": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "EnumValueDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "number": { + "type": "int32", + "id": 2 + }, + "options": { + "type": "EnumValueOptions", + "id": 3 + } + } + }, + "ServiceDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "method": { + "rule": "repeated", + "type": "MethodDescriptorProto", + "id": 2 + }, + "options": { + "type": "ServiceOptions", + "id": 3 + } + } + }, + "MethodDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "inputType": { + "type": "string", + "id": 2 + }, + "outputType": { + "type": "string", + "id": 3 + }, + "options": { + "type": "MethodOptions", + "id": 4 + }, + "clientStreaming": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "serverStreaming": { + "type": "bool", + "id": 6, + "options": { + "default": false + } + } + } + }, + "FileOptions": { + "fields": { + "javaPackage": { + "type": "string", + "id": 1 + }, + "javaOuterClassname": { + "type": "string", + "id": 8 + }, + "javaMultipleFiles": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "javaGenerateEqualsAndHash": { + "type": "bool", + "id": 20, + "options": { + "deprecated": true + } + }, + "javaStringCheckUtf8": { + "type": "bool", + "id": 27, + "options": { + "default": false + } + }, + "optimizeFor": { + "type": "OptimizeMode", + "id": 9, + "options": { + "default": "SPEED" + } + }, + "goPackage": { + "type": "string", + "id": 11 + }, + "ccGenericServices": { + "type": "bool", + "id": 16, + "options": { + "default": false + } + }, + "javaGenericServices": { + "type": "bool", + "id": 17, + "options": { + "default": false + } + }, + "pyGenericServices": { + "type": "bool", + "id": 18, + "options": { + "default": false + } + }, + "phpGenericServices": { + "type": "bool", + "id": 42, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 23, + "options": { + "default": false + } + }, + "ccEnableArenas": { + "type": "bool", + "id": 31, + "options": { + "default": true + } + }, + "objcClassPrefix": { + "type": "string", + "id": 36 + }, + "csharpNamespace": { + "type": "string", + "id": 37 + }, + "swiftPrefix": { + "type": "string", + "id": 39 + }, + "phpClassPrefix": { + "type": "string", + "id": 40 + }, + "phpNamespace": { + "type": "string", + "id": 41 + }, + "phpMetadataNamespace": { + "type": "string", + "id": 44 + }, + "rubyPackage": { + "type": "string", + "id": 45 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 38, + 38 + ] + ], + "nested": { + "OptimizeMode": { + "values": { + "SPEED": 1, + "CODE_SIZE": 2, + "LITE_RUNTIME": 3 + } + } + } + }, + "MessageOptions": { + "fields": { + "messageSetWireFormat": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "noStandardDescriptorAccessor": { + "type": "bool", + "id": 2, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "mapEntry": { + "type": "bool", + "id": 7 + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ], + [ + 5, + 5 + ], + [ + 6, + 6 + ], + [ + 8, + 8 + ], + [ + 9, + 9 + ] + ] + }, + "FieldOptions": { + "fields": { + "ctype": { + "type": "CType", + "id": 1, + "options": { + "default": "STRING" + } + }, + "packed": { + "type": "bool", + "id": 2 + }, + "jstype": { + "type": "JSType", + "id": 6, + "options": { + "default": "JS_NORMAL" + } + }, + "lazy": { + "type": "bool", + "id": 5, + "options": { + "default": false + } + }, + "unverifiedLazy": { + "type": "bool", + "id": 15, + "options": { + "default": false + } + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "weak": { + "type": "bool", + "id": 10, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 4, + 4 + ] + ], + "nested": { + "CType": { + "values": { + "STRING": 0, + "CORD": 1, + "STRING_PIECE": 2 + } + }, + "JSType": { + "values": { + "JS_NORMAL": 0, + "JS_STRING": 1, + "JS_NUMBER": 2 + } + } + } + }, + "OneofOptions": { + "fields": { + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "EnumOptions": { + "fields": { + "allowAlias": { + "type": "bool", + "id": 2 + }, + "deprecated": { + "type": "bool", + "id": 3, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "reserved": [ + [ + 5, + 5 + ] + ] + }, + "EnumValueOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 1, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "ServiceOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ] + }, + "MethodOptions": { + "fields": { + "deprecated": { + "type": "bool", + "id": 33, + "options": { + "default": false + } + }, + "idempotencyLevel": { + "type": "IdempotencyLevel", + "id": 34, + "options": { + "default": "IDEMPOTENCY_UNKNOWN" + } + }, + "uninterpretedOption": { + "rule": "repeated", + "type": "UninterpretedOption", + "id": 999 + } + }, + "extensions": [ + [ + 1000, + 536870911 + ] + ], + "nested": { + "IdempotencyLevel": { + "values": { + "IDEMPOTENCY_UNKNOWN": 0, + "NO_SIDE_EFFECTS": 1, + "IDEMPOTENT": 2 + } + } + } + }, + "UninterpretedOption": { + "fields": { + "name": { + "rule": "repeated", + "type": "NamePart", + "id": 2 + }, + "identifierValue": { + "type": "string", + "id": 3 + }, + "positiveIntValue": { + "type": "uint64", + "id": 4 + }, + "negativeIntValue": { + "type": "int64", + "id": 5 + }, + "doubleValue": { + "type": "double", + "id": 6 + }, + "stringValue": { + "type": "bytes", + "id": 7 + }, + "aggregateValue": { + "type": "string", + "id": 8 + } + }, + "nested": { + "NamePart": { + "fields": { + "namePart": { + "rule": "required", + "type": "string", + "id": 1 + }, + "isExtension": { + "rule": "required", + "type": "bool", + "id": 2 + } + } + } + } + }, + "SourceCodeInfo": { + "fields": { + "location": { + "rule": "repeated", + "type": "Location", + "id": 1 + } + }, + "nested": { + "Location": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "span": { + "rule": "repeated", + "type": "int32", + "id": 2 + }, + "leadingComments": { + "type": "string", + "id": 3 + }, + "trailingComments": { + "type": "string", + "id": 4 + }, + "leadingDetachedComments": { + "rule": "repeated", + "type": "string", + "id": 6 + } + } + } + } + }, + "GeneratedCodeInfo": { + "fields": { + "annotation": { + "rule": "repeated", + "type": "Annotation", + "id": 1 + } + }, + "nested": { + "Annotation": { + "fields": { + "path": { + "rule": "repeated", + "type": "int32", + "id": 1 + }, + "sourceFile": { + "type": "string", + "id": 2 + }, + "begin": { + "type": "int32", + "id": 3 + }, + "end": { + "type": "int32", + "id": 4 + }, + "semantic": { + "type": "Semantic", + "id": 5 + } + }, + "nested": { + "Semantic": { + "values": { + "NONE": 0, + "SET": 1, + "ALIAS": 2 + } + } + } + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ClientProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "serviceusage": { + "nested": { + "v1": { + "options": { + "csharp_namespace": "Google.Cloud.ServiceUsage.V1", + "go_package": "google.golang.org/genproto/googleapis/api/serviceusage/v1;serviceusage", + "java_multiple_files": true, + "java_outer_classname": "ServiceUsageProto", + "java_package": "com.google.api.serviceusage.v1", + "php_namespace": "Google\\Cloud\\ServiceUsage\\V1", + "ruby_package": "Google::Cloud::ServiceUsage::V1" + }, + "nested": { + "Service": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "parent": { + "type": "string", + "id": 5 + }, + "config": { + "type": "ServiceConfig", + "id": 2 + }, + "state": { + "type": "State", + "id": 4 + } + } + }, + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "DISABLED": 1, + "ENABLED": 2 + } + }, + "ServiceConfig": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "title": { + "type": "string", + "id": 2 + }, + "apis": { + "rule": "repeated", + "type": "google.protobuf.Api", + "id": 3 + }, + "documentation": { + "type": "google.api.Documentation", + "id": 6 + }, + "quota": { + "type": "google.api.Quota", + "id": 10 + }, + "authentication": { + "type": "google.api.Authentication", + "id": 11 + }, + "usage": { + "type": "google.api.Usage", + "id": 15 + }, + "endpoints": { + "rule": "repeated", + "type": "google.api.Endpoint", + "id": 18 + }, + "monitoredResources": { + "rule": "repeated", + "type": "google.api.MonitoredResourceDescriptor", + "id": 25 + }, + "monitoring": { + "type": "google.api.Monitoring", + "id": 28 + } + } + }, + "OperationMetadata": { + "fields": { + "resourceNames": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "ServiceUsage": { + "options": { + "(google.api.default_host)": "serviceusage.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/service.management" + }, + "methods": { + "EnableService": { + "requestType": "EnableServiceRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=*/*/services/*}:enable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "EnableServiceResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=*/*/services/*}:enable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "EnableServiceResponse", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DisableService": { + "requestType": "DisableServiceRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=*/*/services/*}:disable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "DisableServiceResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=*/*/services/*}:disable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "DisableServiceResponse", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "GetService": { + "requestType": "GetServiceRequest", + "responseType": "Service", + "options": { + "(google.api.http).get": "/v1/{name=*/*/services/*}" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=*/*/services/*}" + } + } + ] + }, + "ListServices": { + "requestType": "ListServicesRequest", + "responseType": "ListServicesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=*/*}/services" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=*/*}/services" + } + } + ] + }, + "BatchEnableServices": { + "requestType": "BatchEnableServicesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=*/*}/services:batchEnable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "BatchEnableServicesResponse", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=*/*}/services:batchEnable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "BatchEnableServicesResponse", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "BatchGetServices": { + "requestType": "BatchGetServicesRequest", + "responseType": "BatchGetServicesResponse", + "options": { + "(google.api.http).get": "/v1/{parent=*/*}/services:batchGet" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=*/*}/services:batchGet" + } + } + ] + } + } + }, + "EnableServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "EnableServiceResponse": { + "fields": { + "service": { + "type": "Service", + "id": 1 + } + } + }, + "DisableServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "disableDependentServices": { + "type": "bool", + "id": 2 + }, + "checkIfServiceHasUsage": { + "type": "CheckIfServiceHasUsage", + "id": 3 + } + }, + "nested": { + "CheckIfServiceHasUsage": { + "values": { + "CHECK_IF_SERVICE_HAS_USAGE_UNSPECIFIED": 0, + "SKIP": 1, + "CHECK": 2 + } + } + } + }, + "DisableServiceResponse": { + "fields": { + "service": { + "type": "Service", + "id": 1 + } + } + }, + "GetServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListServicesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListServicesResponse": { + "fields": { + "services": { + "rule": "repeated", + "type": "Service", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "BatchEnableServicesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "serviceIds": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "BatchEnableServicesResponse": { + "fields": { + "services": { + "rule": "repeated", + "type": "Service", + "id": 1 + }, + "failures": { + "rule": "repeated", + "type": "EnableFailure", + "id": 2 + } + }, + "nested": { + "EnableFailure": { + "fields": { + "serviceId": { + "type": "string", + "id": 1 + }, + "errorMessage": { + "type": "string", + "id": 2 + } + } + } + } + }, + "BatchGetServicesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "names": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "BatchGetServicesResponse": { + "fields": { + "services": { + "rule": "repeated", + "type": "Service", + "id": 1 + } + } + } + } + }, + "v1beta1": { + "options": { + "csharp_namespace": "Google.Api.ServiceUsage.V1Beta1", + "go_package": "google.golang.org/genproto/googleapis/api/serviceusage/v1beta1;serviceusage", + "java_multiple_files": true, + "java_outer_classname": "ServiceUsageProto", + "java_package": "com.google.api.serviceusage.v1beta1", + "php_namespace": "Google\\Api\\ServiceUsage\\V1beta1", + "ruby_package": "Google::Api::ServiceUsage::V1beta1" + }, + "nested": { + "Service": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "parent": { + "type": "string", + "id": 5 + }, + "config": { + "type": "ServiceConfig", + "id": 2 + }, + "state": { + "type": "State", + "id": 4 + } + } + }, + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "DISABLED": 1, + "ENABLED": 2 + } + }, + "ServiceConfig": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "title": { + "type": "string", + "id": 2 + }, + "apis": { + "rule": "repeated", + "type": "google.protobuf.Api", + "id": 3 + }, + "documentation": { + "type": "google.api.Documentation", + "id": 6 + }, + "quota": { + "type": "google.api.Quota", + "id": 10 + }, + "authentication": { + "type": "google.api.Authentication", + "id": 11 + }, + "usage": { + "type": "google.api.Usage", + "id": 15 + }, + "endpoints": { + "rule": "repeated", + "type": "google.api.Endpoint", + "id": 18 + }, + "monitoredResources": { + "rule": "repeated", + "type": "google.api.MonitoredResourceDescriptor", + "id": 25 + }, + "monitoring": { + "type": "google.api.Monitoring", + "id": 28 + } + } + }, + "OperationMetadata": { + "fields": { + "resourceNames": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "ConsumerQuotaMetric": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metric": { + "type": "string", + "id": 4 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "consumerQuotaLimits": { + "rule": "repeated", + "type": "ConsumerQuotaLimit", + "id": 3 + }, + "descendantConsumerQuotaLimits": { + "rule": "repeated", + "type": "ConsumerQuotaLimit", + "id": 6 + }, + "unit": { + "type": "string", + "id": 5 + } + } + }, + "ConsumerQuotaLimit": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metric": { + "type": "string", + "id": 8 + }, + "unit": { + "type": "string", + "id": 2 + }, + "isPrecise": { + "type": "bool", + "id": 3 + }, + "allowsAdminOverrides": { + "type": "bool", + "id": 7 + }, + "quotaBuckets": { + "rule": "repeated", + "type": "QuotaBucket", + "id": 9 + } + } + }, + "QuotaView": { + "values": { + "QUOTA_VIEW_UNSPECIFIED": 0, + "BASIC": 1, + "FULL": 2 + } + }, + "QuotaBucket": { + "fields": { + "effectiveLimit": { + "type": "int64", + "id": 1 + }, + "defaultLimit": { + "type": "int64", + "id": 2 + }, + "producerOverride": { + "type": "QuotaOverride", + "id": 3 + }, + "consumerOverride": { + "type": "QuotaOverride", + "id": 4 + }, + "adminOverride": { + "type": "QuotaOverride", + "id": 5 + }, + "dimensions": { + "keyType": "string", + "type": "string", + "id": 6 + } + } + }, + "QuotaOverride": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "overrideValue": { + "type": "int64", + "id": 2 + }, + "dimensions": { + "keyType": "string", + "type": "string", + "id": 3 + }, + "metric": { + "type": "string", + "id": 4 + }, + "unit": { + "type": "string", + "id": 5 + }, + "adminOverrideAncestor": { + "type": "string", + "id": 6 + } + } + }, + "OverrideInlineSource": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + } + } + }, + "QuotaSafetyCheck": { + "values": { + "QUOTA_SAFETY_CHECK_UNSPECIFIED": 0, + "LIMIT_DECREASE_BELOW_USAGE": 1, + "LIMIT_DECREASE_PERCENTAGE_TOO_HIGH": 2 + } + }, + "AdminQuotaPolicy": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "policyValue": { + "type": "int64", + "id": 2 + }, + "dimensions": { + "keyType": "string", + "type": "string", + "id": 3 + }, + "metric": { + "type": "string", + "id": 4 + }, + "unit": { + "type": "string", + "id": 5 + }, + "container": { + "type": "string", + "id": 6 + } + } + }, + "ServiceIdentity": { + "fields": { + "email": { + "type": "string", + "id": 1 + }, + "uniqueId": { + "type": "string", + "id": 2 + } + } + }, + "ServiceUsage": { + "options": { + "(google.api.default_host)": "serviceusage.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform,https://www.googleapis.com/auth/cloud-platform.read-only,https://www.googleapis.com/auth/service.management" + }, + "methods": { + "EnableService": { + "requestType": "EnableServiceRequest", + "responseType": "google.longrunning.Operation", + "options": { + "deprecated": true, + "(google.api.http).post": "/v1beta1/{name=*/*/services/*}:enable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "deprecated": true + }, + { + "(google.api.http)": { + "post": "/v1beta1/{name=*/*/services/*}:enable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DisableService": { + "requestType": "DisableServiceRequest", + "responseType": "google.longrunning.Operation", + "options": { + "deprecated": true, + "(google.api.http).post": "/v1beta1/{name=*/*/services/*}:disable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "deprecated": true + }, + { + "(google.api.http)": { + "post": "/v1beta1/{name=*/*/services/*}:disable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "GetService": { + "requestType": "GetServiceRequest", + "responseType": "Service", + "options": { + "deprecated": true, + "(google.api.http).get": "/v1beta1/{name=*/*/services/*}" + }, + "parsedOptions": [ + { + "deprecated": true + }, + { + "(google.api.http)": { + "get": "/v1beta1/{name=*/*/services/*}" + } + } + ] + }, + "ListServices": { + "requestType": "ListServicesRequest", + "responseType": "ListServicesResponse", + "options": { + "deprecated": true, + "(google.api.http).get": "/v1beta1/{parent=*/*}/services" + }, + "parsedOptions": [ + { + "deprecated": true + }, + { + "(google.api.http)": { + "get": "/v1beta1/{parent=*/*}/services" + } + } + ] + }, + "BatchEnableServices": { + "requestType": "BatchEnableServicesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "deprecated": true, + "(google.api.http).post": "/v1beta1/{parent=*/*}/services:batchEnable", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "deprecated": true + }, + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*}/services:batchEnable", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListConsumerQuotaMetrics": { + "requestType": "ListConsumerQuotaMetricsRequest", + "responseType": "ListConsumerQuotaMetricsResponse", + "options": { + "(google.api.http).get": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics" + } + } + ] + }, + "GetConsumerQuotaMetric": { + "requestType": "GetConsumerQuotaMetricRequest", + "responseType": "ConsumerQuotaMetric", + "options": { + "(google.api.http).get": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*}" + } + } + ] + }, + "GetConsumerQuotaLimit": { + "requestType": "GetConsumerQuotaLimitRequest", + "responseType": "ConsumerQuotaLimit", + "options": { + "(google.api.http).get": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*}" + } + } + ] + }, + "CreateAdminOverride": { + "requestType": "CreateAdminOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides", + "(google.api.http).body": "override", + "(google.longrunning.operation_info).response_type": "QuotaOverride", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides", + "body": "override" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "QuotaOverride", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "UpdateAdminOverride": { + "requestType": "UpdateAdminOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}", + "(google.api.http).body": "override", + "(google.longrunning.operation_info).response_type": "QuotaOverride", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}", + "body": "override" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "QuotaOverride", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteAdminOverride": { + "requestType": "DeleteAdminOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/adminOverrides/*}" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListAdminOverrides": { + "requestType": "ListAdminOverridesRequest", + "responseType": "ListAdminOverridesResponse", + "options": { + "(google.api.http).get": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/adminOverrides" + } + } + ] + }, + "ImportAdminOverrides": { + "requestType": "ImportAdminOverridesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "ImportAdminOverridesResponse", + "(google.longrunning.operation_info).metadata_type": "ImportAdminOverridesMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importAdminOverrides", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ImportAdminOverridesResponse", + "metadata_type": "ImportAdminOverridesMetadata" + } + } + ] + }, + "CreateConsumerOverride": { + "requestType": "CreateConsumerOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides", + "(google.api.http).body": "override", + "(google.longrunning.operation_info).response_type": "QuotaOverride", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides", + "body": "override" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "QuotaOverride", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "UpdateConsumerOverride": { + "requestType": "UpdateConsumerOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}", + "(google.api.http).body": "override", + "(google.longrunning.operation_info).response_type": "QuotaOverride", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}", + "body": "override" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "QuotaOverride", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteConsumerOverride": { + "requestType": "DeleteConsumerOverrideRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1beta1/{name=*/*/services/*/consumerQuotaMetrics/*/limits/*/consumerOverrides/*}" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListConsumerOverrides": { + "requestType": "ListConsumerOverridesRequest", + "responseType": "ListConsumerOverridesResponse", + "options": { + "(google.api.http).get": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{parent=*/*/services/*/consumerQuotaMetrics/*/limits/*}/consumerOverrides" + } + } + ] + }, + "ImportConsumerOverrides": { + "requestType": "ImportConsumerOverridesRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides", + "(google.api.http).body": "*", + "(google.longrunning.operation_info).response_type": "ImportConsumerOverridesResponse", + "(google.longrunning.operation_info).metadata_type": "ImportConsumerOverridesMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*/services/*}/consumerQuotaMetrics:importConsumerOverrides", + "body": "*" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ImportConsumerOverridesResponse", + "metadata_type": "ImportConsumerOverridesMetadata" + } + } + ] + }, + "GenerateServiceIdentity": { + "requestType": "GenerateServiceIdentityRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity", + "(google.longrunning.operation_info).response_type": "ServiceIdentity", + "(google.longrunning.operation_info).metadata_type": "google.protobuf.Empty" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=*/*/services/*}:generateServiceIdentity" + } + }, + { + "(google.longrunning.operation_info)": { + "response_type": "ServiceIdentity", + "metadata_type": "google.protobuf.Empty" + } + } + ] + } + } + }, + "EnableServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DisableServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "GetServiceRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListServicesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListServicesResponse": { + "fields": { + "services": { + "rule": "repeated", + "type": "Service", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "BatchEnableServicesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "serviceIds": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + }, + "ListConsumerQuotaMetricsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "view": { + "type": "QuotaView", + "id": 4 + } + } + }, + "ListConsumerQuotaMetricsResponse": { + "fields": { + "metrics": { + "rule": "repeated", + "type": "ConsumerQuotaMetric", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetConsumerQuotaMetricRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "view": { + "type": "QuotaView", + "id": 2 + } + } + }, + "GetConsumerQuotaLimitRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "view": { + "type": "QuotaView", + "id": 2 + } + } + }, + "CreateAdminOverrideRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "override": { + "type": "QuotaOverride", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 4 + } + } + }, + "UpdateAdminOverrideRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "override": { + "type": "QuotaOverride", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 4 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 5 + } + } + }, + "DeleteAdminOverrideRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "force": { + "type": "bool", + "id": 2 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 3 + } + } + }, + "ListAdminOverridesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListAdminOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "BatchCreateAdminOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + } + } + }, + "ImportAdminOverridesRequest": { + "oneofs": { + "source": { + "oneof": [ + "inlineSource" + ] + } + }, + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inlineSource": { + "type": "OverrideInlineSource", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 4 + } + } + }, + "ImportAdminOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + } + } + }, + "ImportAdminOverridesMetadata": { + "fields": {} + }, + "CreateConsumerOverrideRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "override": { + "type": "QuotaOverride", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 4 + } + } + }, + "UpdateConsumerOverrideRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "override": { + "type": "QuotaOverride", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 4 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 5 + } + } + }, + "DeleteConsumerOverrideRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "force": { + "type": "bool", + "id": 2 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 3 + } + } + }, + "ListConsumerOverridesRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListConsumerOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "BatchCreateConsumerOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + } + } + }, + "ImportConsumerOverridesRequest": { + "oneofs": { + "source": { + "oneof": [ + "inlineSource" + ] + } + }, + "fields": { + "parent": { + "type": "string", + "id": 1 + }, + "inlineSource": { + "type": "OverrideInlineSource", + "id": 2 + }, + "force": { + "type": "bool", + "id": 3 + }, + "forceOnly": { + "rule": "repeated", + "type": "QuotaSafetyCheck", + "id": 4 + } + } + }, + "ImportConsumerOverridesResponse": { + "fields": { + "overrides": { + "rule": "repeated", + "type": "QuotaOverride", + "id": 1 + } + } + }, + "ImportConsumerOverridesMetadata": { + "fields": {} + }, + "ImportAdminQuotaPoliciesResponse": { + "fields": { + "policies": { + "rule": "repeated", + "type": "AdminQuotaPolicy", + "id": 1 + } + } + }, + "ImportAdminQuotaPoliciesMetadata": { + "fields": {} + }, + "CreateAdminQuotaPolicyMetadata": { + "fields": {} + }, + "UpdateAdminQuotaPolicyMetadata": { + "fields": {} + }, + "DeleteAdminQuotaPolicyMetadata": { + "fields": {} + }, + "GenerateServiceIdentityRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1 + } + } + }, + "GetServiceIdentityResponse": { + "fields": { + "identity": { + "type": "ServiceIdentity", + "id": 1 + }, + "state": { + "type": "IdentityState", + "id": 2 + } + }, + "nested": { + "IdentityState": { + "values": { + "IDENTITY_STATE_UNSPECIFIED": 0, + "ACTIVE": 1 + } + } + } + }, + "GetServiceIdentityMetadata": { + "fields": {} + } + } + } + } + }, + "Authentication": { + "fields": { + "rules": { + "rule": "repeated", + "type": "AuthenticationRule", + "id": 3 + }, + "providers": { + "rule": "repeated", + "type": "AuthProvider", + "id": 4 + } + } + }, + "AuthenticationRule": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "oauth": { + "type": "OAuthRequirements", + "id": 2 + }, + "allowWithoutCredential": { + "type": "bool", + "id": 5 + }, + "requirements": { + "rule": "repeated", + "type": "AuthRequirement", + "id": 7 + } + } + }, + "JwtLocation": { + "oneofs": { + "in": { + "oneof": [ + "header", + "query" + ] + } + }, + "fields": { + "header": { + "type": "string", + "id": 1 + }, + "query": { + "type": "string", + "id": 2 + }, + "valuePrefix": { + "type": "string", + "id": 3 + } + } + }, + "AuthProvider": { + "fields": { + "id": { + "type": "string", + "id": 1 + }, + "issuer": { + "type": "string", + "id": 2 + }, + "jwksUri": { + "type": "string", + "id": 3 + }, + "audiences": { + "type": "string", + "id": 4 + }, + "authorizationUrl": { + "type": "string", + "id": 5 + }, + "jwtLocations": { + "rule": "repeated", + "type": "JwtLocation", + "id": 6 + } + } + }, + "OAuthRequirements": { + "fields": { + "canonicalScopes": { + "type": "string", + "id": 1 + } + } + }, + "AuthRequirement": { + "fields": { + "providerId": { + "type": "string", + "id": 1 + }, + "audiences": { + "type": "string", + "id": 2 + } + } + }, + "Documentation": { + "fields": { + "summary": { + "type": "string", + "id": 1 + }, + "pages": { + "rule": "repeated", + "type": "Page", + "id": 5 + }, + "rules": { + "rule": "repeated", + "type": "DocumentationRule", + "id": 3 + }, + "documentationRootUrl": { + "type": "string", + "id": 4 + }, + "serviceRootUrl": { + "type": "string", + "id": 6 + }, + "overview": { + "type": "string", + "id": 2 + } + } + }, + "DocumentationRule": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "description": { + "type": "string", + "id": 2 + }, + "deprecationDescription": { + "type": "string", + "id": 3 + } + } + }, + "Page": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "content": { + "type": "string", + "id": 2 + }, + "subpages": { + "rule": "repeated", + "type": "Page", + "id": 3 + } + } + }, + "Endpoint": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "aliases": { + "rule": "repeated", + "type": "string", + "id": 2, + "options": { + "deprecated": true + } + }, + "target": { + "type": "string", + "id": 101 + }, + "allowCors": { + "type": "bool", + "id": 5 + } + } + }, + "MonitoredResourceDescriptor": { + "fields": { + "name": { + "type": "string", + "id": 5 + }, + "type": { + "type": "string", + "id": 1 + }, + "displayName": { + "type": "string", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + }, + "labels": { + "rule": "repeated", + "type": "LabelDescriptor", + "id": 4 + }, + "launchStage": { + "type": "LaunchStage", + "id": 7 + } + } + }, + "MonitoredResource": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 2 + } + } + }, + "MonitoredResourceMetadata": { + "fields": { + "systemLabels": { + "type": "google.protobuf.Struct", + "id": 1 + }, + "userLabels": { + "keyType": "string", + "type": "string", + "id": 2 + } + } + }, + "LabelDescriptor": { + "fields": { + "key": { + "type": "string", + "id": 1 + }, + "valueType": { + "type": "ValueType", + "id": 2 + }, + "description": { + "type": "string", + "id": 3 + } + }, + "nested": { + "ValueType": { + "values": { + "STRING": 0, + "BOOL": 1, + "INT64": 2 + } + } + } + }, + "LaunchStage": { + "values": { + "LAUNCH_STAGE_UNSPECIFIED": 0, + "UNIMPLEMENTED": 6, + "PRELAUNCH": 7, + "EARLY_ACCESS": 1, + "ALPHA": 2, + "BETA": 3, + "GA": 4, + "DEPRECATED": 5 + } + }, + "Monitoring": { + "fields": { + "producerDestinations": { + "rule": "repeated", + "type": "MonitoringDestination", + "id": 1 + }, + "consumerDestinations": { + "rule": "repeated", + "type": "MonitoringDestination", + "id": 2 + } + }, + "nested": { + "MonitoringDestination": { + "fields": { + "monitoredResource": { + "type": "string", + "id": 1 + }, + "metrics": { + "rule": "repeated", + "type": "string", + "id": 2 + } + } + } + } + }, + "Quota": { + "fields": { + "limits": { + "rule": "repeated", + "type": "QuotaLimit", + "id": 3 + }, + "metricRules": { + "rule": "repeated", + "type": "MetricRule", + "id": 4 + } + } + }, + "MetricRule": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "metricCosts": { + "keyType": "string", + "type": "int64", + "id": 2 + } + } + }, + "QuotaLimit": { + "fields": { + "name": { + "type": "string", + "id": 6 + }, + "description": { + "type": "string", + "id": 2 + }, + "defaultLimit": { + "type": "int64", + "id": 3 + }, + "maxLimit": { + "type": "int64", + "id": 4 + }, + "freeTier": { + "type": "int64", + "id": 7 + }, + "duration": { + "type": "string", + "id": 5 + }, + "metric": { + "type": "string", + "id": 8 + }, + "unit": { + "type": "string", + "id": 9 + }, + "values": { + "keyType": "string", + "type": "int64", + "id": 10 + }, + "displayName": { + "type": "string", + "id": 12 + } + } + }, + "Usage": { + "fields": { + "requirements": { + "rule": "repeated", + "type": "string", + "id": 1 + }, + "rules": { + "rule": "repeated", + "type": "UsageRule", + "id": 6 + }, + "producerNotificationChannel": { + "type": "string", + "id": 7 + } + } + }, + "UsageRule": { + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "allowUnregisteredCalls": { + "type": "bool", + "id": 2 + }, + "skipServiceControl": { + "type": "bool", + "id": 3 + } + } + }, + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + } + } + }, + "longrunning": { + "options": { + "cc_enable_arenas": true, + "csharp_namespace": "Google.LongRunning", + "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", + "java_multiple_files": true, + "java_outer_classname": "OperationsProto", + "java_package": "com.google.longrunning", + "php_namespace": "Google\\LongRunning" + }, + "nested": { + "operationInfo": { + "type": "google.longrunning.OperationInfo", + "id": 1049, + "extend": "google.protobuf.MethodOptions" + }, + "Operations": { + "options": { + "(google.api.default_host)": "longrunning.googleapis.com" + }, + "methods": { + "ListOperations": { + "requestType": "ListOperationsRequest", + "responseType": "ListOperationsResponse", + "options": { + "(google.api.http).get": "/v1/{name=operations}", + "(google.api.method_signature)": "name,filter" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations}" + } + }, + { + "(google.api.method_signature)": "name,filter" + } + ] + }, + "GetOperation": { + "requestType": "GetOperationRequest", + "responseType": "Operation", + "options": { + "(google.api.http).get": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "DeleteOperation": { + "requestType": "DeleteOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "CancelOperation": { + "requestType": "CancelOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=operations/**}:cancel", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=operations/**}:cancel", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "WaitOperation": { + "requestType": "WaitOperationRequest", + "responseType": "Operation" + } + } + }, + "Operation": { + "oneofs": { + "result": { + "oneof": [ + "error", + "response" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metadata": { + "type": "google.protobuf.Any", + "id": 2 + }, + "done": { + "type": "bool", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + }, + "response": { + "type": "google.protobuf.Any", + "id": 5 + } + } + }, + "GetOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListOperationsRequest": { + "fields": { + "name": { + "type": "string", + "id": 4 + }, + "filter": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListOperationsResponse": { + "fields": { + "operations": { + "rule": "repeated", + "type": "Operation", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CancelOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "WaitOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "timeout": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "OperationInfo": { + "fields": { + "responseType": { + "type": "string", + "id": 1 + }, + "metadataType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "rpc": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", + "java_multiple_files": true, + "java_outer_classname": "StatusProto", + "java_package": "com.google.rpc", + "objc_class_prefix": "RPC" + }, + "nested": { + "Status": { + "fields": { + "code": { + "type": "int32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + }, + "details": { + "rule": "repeated", + "type": "google.protobuf.Any", + "id": 3 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-api-serviceusage/samples/README.md b/packages/google-api-serviceusage/samples/README.md new file mode 100644 index 00000000000..cd58d6e3db9 --- /dev/null +++ b/packages/google-api-serviceusage/samples/README.md @@ -0,0 +1,50 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Service Usage: Node.js Samples](https://github.com/googleapis/nodejs-service-usage) + +[![Open in Cloud Shell][shell_img]][shell_link] + + + +## Table of Contents + +* [Before you begin](#before-you-begin) +* [Samples](#samples) + * [Quickstart](#quickstart) + +## Before you begin + +Before running the samples, make sure you've followed the steps outlined in +[Using the client library](https://github.com/googleapis/nodejs-service-usage#using-the-client-library). + +`cd samples` + +`npm install` + +`cd ..` + +## Samples + + + +### Quickstart + +View the [source code](https://github.com/googleapis/nodejs-service-usage/blob/main/samples/quickstart.js). + +[![Open in Cloud Shell][shell_img]](https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-usage&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) + +__Usage:__ + + +`node samples/quickstart.js` + + + + + + +[shell_img]: https://gstatic.com/cloudssh/images/open-btn.png +[shell_link]: https://console.cloud.google.com/cloudshell/open?git_repo=https://github.com/googleapis/nodejs-service-usage&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/service-usage/ diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_enable_services.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_enable_services.js new file mode 100644 index 00000000000..be12adf0059 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_enable_services.js @@ -0,0 +1,75 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_BatchEnableServices_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent to enable services on. + * An example name would be: + * `projects/123` where `123` is the project number. + * The `BatchEnableServices` method currently only supports projects. + */ + // const parent = 'abc123' + /** + * The identifiers of the services to enable on the project. + * A valid identifier would be: + * serviceusage.googleapis.com + * Enabling services requires that each service is public or is shared with + * the user enabling the service. + * A single request can enable a maximum of 20 services at a time. If more + * than 20 services are specified, the request will fail, and no state changes + * will occur. + */ + // const serviceIds = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callBatchEnableServices() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.batchEnableServices(request); + const [response] = await operation.promise(); + console.log(response); + } + + callBatchEnableServices(); + // [END serviceusage_v1_generated_ServiceUsage_BatchEnableServices_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_get_services.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_get_services.js new file mode 100644 index 00000000000..fcf2cfec241 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.batch_get_services.js @@ -0,0 +1,72 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_BatchGetServices_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent to retrieve services from. + * If this is set, the parent of all of the services specified in `names` must + * match this field. An example name would be: `projects/123` where `123` is + * the project number. The `BatchGetServices` method currently only supports + * projects. + */ + // const parent = 'abc123' + /** + * Names of the services to retrieve. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + * A single request can get a maximum of 30 services at a time. + */ + // const names = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callBatchGetServices() { + // Construct request + const request = { + }; + + // Run request + const response = await serviceusageClient.batchGetServices(request); + console.log(response); + } + + callBatchGetServices(); + // [END serviceusage_v1_generated_ServiceUsage_BatchGetServices_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.disable_service.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.disable_service.js new file mode 100644 index 00000000000..bef120caef2 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.disable_service.js @@ -0,0 +1,77 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_DisableService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to disable the service on. + * The enable and disable methods currently only support projects. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + */ + // const name = 'abc123' + /** + * Indicates if services that are enabled and which depend on this service + * should also be disabled. If not set, an error will be generated if any + * enabled services depend on the service to be disabled. When set, the + * service, and any enabled services that depend on it, will be disabled + * together. + */ + // const disableDependentServices = true + /** + * Defines the behavior for checking service usage when disabling a service. + */ + // const checkIfServiceHasUsage = {} + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callDisableService() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.disableService(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDisableService(); + // [END serviceusage_v1_generated_ServiceUsage_DisableService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.enable_service.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.enable_service.js new file mode 100644 index 00000000000..de5d1202fbb --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.enable_service.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_EnableService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to enable the service on. + * The `EnableService` and `DisableService` methods currently only support + * projects. + * Enabling a service requires that the service is public or is shared with + * the user enabling the service. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + */ + // const name = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callEnableService() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.enableService(request); + const [response] = await operation.promise(); + console.log(response); + } + + callEnableService(); + // [END serviceusage_v1_generated_ServiceUsage_EnableService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.get_service.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.get_service.js new file mode 100644 index 00000000000..2108e2fff16 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.get_service.js @@ -0,0 +1,63 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_GetService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to get the `ConsumerState` for. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + */ + // const name = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callGetService() { + // Construct request + const request = { + }; + + // Run request + const response = await serviceusageClient.getService(request); + console.log(response); + } + + callGetService(); + // [END serviceusage_v1_generated_ServiceUsage_GetService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/service_usage.list_services.js b/packages/google-api-serviceusage/samples/generated/v1/service_usage.list_services.js new file mode 100644 index 00000000000..df16e7dee0f --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/service_usage.list_services.js @@ -0,0 +1,80 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1_generated_ServiceUsage_ListServices_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent to search for services on. + * An example name would be: + * `projects/123` where `123` is the project number. + */ + // const parent = 'abc123' + /** + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + */ + // const pageSize = 1234 + /** + * Token identifying which result to start with, which is returned by a + * previous list call. + */ + // const pageToken = 'abc123' + /** + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + */ + // const filter = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callListServices() { + // Construct request + const request = { + }; + + // Run request + const iterable = await serviceusageClient.listServicesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListServices(); + // [END serviceusage_v1_generated_ServiceUsage_ListServices_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1/snippet_metadata.google.api.serviceusage.v1.json b/packages/google-api-serviceusage/samples/generated/v1/snippet_metadata.google.api.serviceusage.v1.json new file mode 100644 index 00000000000..4930a6018d7 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1/snippet_metadata.google.api.serviceusage.v1.json @@ -0,0 +1,283 @@ +{ + "clientLibrary": { + "name": "nodejs-serviceusage", + "version": "2.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.api.serviceusage.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_EnableService_async", + "title": "ServiceUsage enableService Sample", + "origin": "API_DEFINITION", + "description": " Enable a service so that it can be used with a project.", + "canonical": true, + "file": "service_usage.enable_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "EnableService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.EnableService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "EnableService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.EnableService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_DisableService_async", + "title": "ServiceUsage disableService Sample", + "origin": "API_DEFINITION", + "description": " Disable a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled.", + "canonical": true, + "file": "service_usage.disable_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 69, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DisableService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.DisableService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "disable_dependent_services", + "type": "TYPE_BOOL" + }, + { + "name": "check_if_service_has_usage", + "type": ".google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "DisableService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.DisableService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_GetService_async", + "title": "ServiceUsage getService Sample", + "origin": "API_DEFINITION", + "description": " Returns the service configuration and enabled state for a given service.", + "canonical": true, + "file": "service_usage.get_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.GetService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1.Service", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "GetService", + "fullName": "google.api.serviceusage.v1.ServiceUsage.GetService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_ListServices_async", + "title": "ServiceUsage listServices Sample", + "origin": "API_DEFINITION", + "description": " List all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project. WARNING: If you need to query enabled services frequently or across an organization, you should use [Cloud Asset Inventory API](https://cloud.google.com/asset-inventory/docs/apis), which provides higher throughput and richer filtering capability.", + "canonical": true, + "file": "service_usage.list_services.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 72, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.ListServices", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1.ListServicesResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "ListServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.ListServices", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_BatchEnableServices_async", + "title": "ServiceUsage batchEnableServices Sample", + "origin": "API_DEFINITION", + "description": " Enable multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. To enable a single service, use the `EnableService` method instead.", + "canonical": true, + "file": "service_usage.batch_enable_services.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 67, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchEnableServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.BatchEnableServices", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "service_ids", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "BatchEnableServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.BatchEnableServices", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1_generated_ServiceUsage_BatchGetServices_async", + "title": "ServiceUsage batchGetServices Sample", + "origin": "API_DEFINITION", + "description": " Returns the service configurations and enabled states for a given list of services.", + "canonical": true, + "file": "service_usage.batch_get_services.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 64, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchGetServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.BatchGetServices", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "names", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.api.serviceusage.v1.BatchGetServicesResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1.ServiceUsageClient" + }, + "method": { + "shortName": "BatchGetServices", + "fullName": "google.api.serviceusage.v1.ServiceUsage.BatchGetServices", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1.ServiceUsage" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.batch_enable_services.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.batch_enable_services.js new file mode 100644 index 00000000000..768c7d4110a --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.batch_enable_services.js @@ -0,0 +1,78 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_BatchEnableServices_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent to enable services on. + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + * The `BatchEnableServices` method currently only supports projects. + */ + // const parent = 'abc123' + /** + * The identifiers of the services to enable on the project. + * A valid identifier would be: + * serviceusage.googleapis.com + * Enabling services requires that each service is public or is shared with + * the user enabling the service. + * Two or more services must be specified. To enable a single service, + * use the `EnableService` method instead. + * A single request can enable a maximum of 20 services at a time. If more + * than 20 services are specified, the request will fail, and no state changes + * will occur. + */ + // const serviceIds = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callBatchEnableServices() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.batchEnableServices(request); + const [response] = await operation.promise(); + console.log(response); + } + + callBatchEnableServices(); + // [END serviceusage_v1beta1_generated_ServiceUsage_BatchEnableServices_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_admin_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_admin_override.js new file mode 100644 index 00000000000..ca18bd904db --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_admin_override.js @@ -0,0 +1,81 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_CreateAdminOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + */ + // const parent = 'abc123' + /** + * The admin override to create. + */ + // const override = {} + /** + * Whether to force the creation of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callCreateAdminOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.createAdminOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callCreateAdminOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_CreateAdminOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_consumer_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_consumer_override.js new file mode 100644 index 00000000000..af813b0cfa4 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.create_consumer_override.js @@ -0,0 +1,81 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_CreateConsumerOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + */ + // const parent = 'abc123' + /** + * The override to create. + */ + // const override = {} + /** + * Whether to force the creation of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callCreateConsumerOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.createConsumerOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callCreateConsumerOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_CreateConsumerOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_admin_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_admin_override.js new file mode 100644 index 00000000000..4276f6dbcba --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_admin_override.js @@ -0,0 +1,76 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_DeleteAdminOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the override to delete. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + */ + // const name = 'abc123' + /** + * Whether to force the deletion of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callDeleteAdminOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.deleteAdminOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDeleteAdminOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_DeleteAdminOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_consumer_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_consumer_override.js new file mode 100644 index 00000000000..24a32b36a95 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.delete_consumer_override.js @@ -0,0 +1,76 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_DeleteConsumerOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the override to delete. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + */ + // const name = 'abc123' + /** + * Whether to force the deletion of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callDeleteConsumerOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.deleteConsumerOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDeleteConsumerOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_DeleteConsumerOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.disable_service.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.disable_service.js new file mode 100644 index 00000000000..0361172935d --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.disable_service.js @@ -0,0 +1,65 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_DisableService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to disable the service on. + * The enable and disable methods currently only support projects. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + */ + // const name = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callDisableService() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.disableService(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDisableService(); + // [END serviceusage_v1beta1_generated_ServiceUsage_DisableService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.enable_service.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.enable_service.js new file mode 100644 index 00000000000..bd49e457783 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.enable_service.js @@ -0,0 +1,68 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_EnableService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to enable the service on. + * The `EnableService` and `DisableService` methods currently only support + * projects. + * Enabling a service requires that the service is public or is shared with + * the user enabling the service. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + */ + // const name = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callEnableService() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.enableService(request); + const [response] = await operation.promise(); + console.log(response); + } + + callEnableService(); + // [END serviceusage_v1beta1_generated_ServiceUsage_EnableService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.generate_service_identity.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.generate_service_identity.js new file mode 100644 index 00000000000..67825211638 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.generate_service_identity.js @@ -0,0 +1,65 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_GenerateServiceIdentity_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to generate an identity for. + * The `GenerateServiceIdentity` methods currently only support projects. + * An example name would be: + * `projects/123/services/example.googleapis.com` where `123` is the + * project number. + */ + // const parent = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callGenerateServiceIdentity() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.generateServiceIdentity(request); + const [response] = await operation.promise(); + console.log(response); + } + + callGenerateServiceIdentity(); + // [END serviceusage_v1beta1_generated_ServiceUsage_GenerateServiceIdentity_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_limit.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_limit.js new file mode 100644 index 00000000000..b183ea3c5cc --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_limit.js @@ -0,0 +1,66 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaLimit_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the quota limit. + * Use the quota limit resource name returned by previous + * ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + */ + // const name = 'abc123' + /** + * Specifies the level of detail for quota information in the response. + */ + // const view = {} + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callGetConsumerQuotaLimit() { + // Construct request + const request = { + }; + + // Run request + const response = await serviceusageClient.getConsumerQuotaLimit(request); + console.log(response); + } + + callGetConsumerQuotaLimit(); + // [END serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaLimit_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_metric.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_metric.js new file mode 100644 index 00000000000..3f8ac53d60d --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_consumer_quota_metric.js @@ -0,0 +1,66 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaMetric_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the quota limit. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + */ + // const name = 'abc123' + /** + * Specifies the level of detail for quota information in the response. + */ + // const view = {} + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callGetConsumerQuotaMetric() { + // Construct request + const request = { + }; + + // Run request + const response = await serviceusageClient.getConsumerQuotaMetric(request); + console.log(response); + } + + callGetConsumerQuotaMetric(); + // [END serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaMetric_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_service.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_service.js new file mode 100644 index 00000000000..d9d0b62b56a --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.get_service.js @@ -0,0 +1,63 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_GetService_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Name of the consumer and service to get the `ConsumerState` for. + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + */ + // const name = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callGetService() { + // Construct request + const request = { + }; + + // Run request + const response = await serviceusageClient.getService(request); + console.log(response); + } + + callGetService(); + // [END serviceusage_v1beta1_generated_ServiceUsage_GetService_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_admin_overrides.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_admin_overrides.js new file mode 100644 index 00000000000..044df910717 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_admin_overrides.js @@ -0,0 +1,80 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ImportAdminOverrides_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the consumer. + * An example name would be: + * `projects/123/services/compute.googleapis.com` + */ + // const parent = 'abc123' + /** + * The import data is specified in the request message itself + */ + // const inlineSource = {} + /** + * Whether to force the creation of the quota overrides. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callImportAdminOverrides() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.importAdminOverrides(request); + const [response] = await operation.promise(); + console.log(response); + } + + callImportAdminOverrides(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ImportAdminOverrides_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_consumer_overrides.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_consumer_overrides.js new file mode 100644 index 00000000000..4c04d4efffb --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.import_consumer_overrides.js @@ -0,0 +1,80 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ImportConsumerOverrides_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the consumer. + * An example name would be: + * `projects/123/services/compute.googleapis.com` + */ + // const parent = 'abc123' + /** + * The import data is specified in the request message itself + */ + // const inlineSource = {} + /** + * Whether to force the creation of the quota overrides. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callImportConsumerOverrides() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.importConsumerOverrides(request); + const [response] = await operation.promise(); + console.log(response); + } + + callImportConsumerOverrides(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ImportConsumerOverrides_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_admin_overrides.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_admin_overrides.js new file mode 100644 index 00000000000..5cb7e5b16e2 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_admin_overrides.js @@ -0,0 +1,74 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ListAdminOverrides_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + */ + // const parent = 'abc123' + /** + * Requested size of the next page of data. + */ + // const pageSize = 1234 + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + // const pageToken = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callListAdminOverrides() { + // Construct request + const request = { + }; + + // Run request + const iterable = await serviceusageClient.listAdminOverridesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListAdminOverrides(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ListAdminOverrides_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_overrides.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_overrides.js new file mode 100644 index 00000000000..766568f83e7 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_overrides.js @@ -0,0 +1,74 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ListConsumerOverrides_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + */ + // const parent = 'abc123' + /** + * Requested size of the next page of data. + */ + // const pageSize = 1234 + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + // const pageToken = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callListConsumerOverrides() { + // Construct request + const request = { + }; + + // Run request + const iterable = await serviceusageClient.listConsumerOverridesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListConsumerOverrides(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ListConsumerOverrides_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_quota_metrics.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_quota_metrics.js new file mode 100644 index 00000000000..a162dcb9ef7 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_consumer_quota_metrics.js @@ -0,0 +1,79 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ListConsumerQuotaMetrics_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent of the quotas resource. + * Some example names would be: + * `projects/123/services/serviceconsumermanagement.googleapis.com` + * `folders/345/services/serviceconsumermanagement.googleapis.com` + * `organizations/456/services/serviceconsumermanagement.googleapis.com` + */ + // const parent = 'abc123' + /** + * Requested size of the next page of data. + */ + // const pageSize = 1234 + /** + * Token identifying which result to start with; returned by a previous list + * call. + */ + // const pageToken = 'abc123' + /** + * Specifies the level of detail for quota information in the response. + */ + // const view = {} + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callListConsumerQuotaMetrics() { + // Construct request + const request = { + }; + + // Run request + const iterable = await serviceusageClient.listConsumerQuotaMetricsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListConsumerQuotaMetrics(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ListConsumerQuotaMetrics_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_services.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_services.js new file mode 100644 index 00000000000..f1d6554b3af --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.list_services.js @@ -0,0 +1,81 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_ListServices_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * Parent to search for services on. + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + */ + // const parent = 'abc123' + /** + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + */ + // const pageSize = 1234 + /** + * Token identifying which result to start with, which is returned by a + * previous list call. + */ + // const pageToken = 'abc123' + /** + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + */ + // const filter = 'abc123' + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callListServices() { + // Construct request + const request = { + }; + + // Run request + const iterable = await serviceusageClient.listServicesAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListServices(); + // [END serviceusage_v1beta1_generated_ServiceUsage_ListServices_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_admin_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_admin_override.js new file mode 100644 index 00000000000..827986a5a30 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_admin_override.js @@ -0,0 +1,86 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_UpdateAdminOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the override to update. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + */ + // const name = 'abc123' + /** + * The new override. + * Only the override_value is updated; all other fields are ignored. + */ + // const override = {} + /** + * Whether to force the update of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * Update only the specified fields of the override. + * If unset, all fields will be updated. + */ + // const updateMask = {} + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callUpdateAdminOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.updateAdminOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callUpdateAdminOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_UpdateAdminOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_consumer_override.js b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_consumer_override.js new file mode 100644 index 00000000000..d600feaa296 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/service_usage.update_consumer_override.js @@ -0,0 +1,86 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + + + +'use strict'; + +function main() { + // [START serviceusage_v1beta1_generated_ServiceUsage_UpdateConsumerOverride_async] + /** + * This snippet has been automatically generated and should be regarded as a code template only. + * It will require modifications to work. + * It may require correct/in-range values for request initialization. + * TODO(developer): Uncomment these variables before running the sample. + */ + /** + * The resource name of the override to update. + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + */ + // const name = 'abc123' + /** + * The new override. + * Only the override_value is updated; all other fields are ignored. + */ + // const override = {} + /** + * Whether to force the update of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + */ + // const force = true + /** + * Update only the specified fields of the override. + * If unset, all fields will be updated. + */ + // const updateMask = {} + /** + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + */ + // const forceOnly = 1234 + + // Imports the Serviceusage library + const {ServiceUsageClient} = require('@google-cloud/service-usage').v1beta1; + + // Instantiates a client + const serviceusageClient = new ServiceUsageClient(); + + async function callUpdateConsumerOverride() { + // Construct request + const request = { + }; + + // Run request + const [operation] = await serviceusageClient.updateConsumerOverride(request); + const [response] = await operation.promise(); + console.log(response); + } + + callUpdateConsumerOverride(); + // [END serviceusage_v1beta1_generated_ServiceUsage_UpdateConsumerOverride_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-api-serviceusage/samples/generated/v1beta1/snippet_metadata.google.api.serviceusage.v1beta1.json b/packages/google-api-serviceusage/samples/generated/v1beta1/snippet_metadata.google.api.serviceusage.v1beta1.json new file mode 100644 index 00000000000..3eab1012445 --- /dev/null +++ b/packages/google-api-serviceusage/samples/generated/v1beta1/snippet_metadata.google.api.serviceusage.v1beta1.json @@ -0,0 +1,923 @@ +{ + "clientLibrary": { + "name": "nodejs-serviceusage", + "version": "2.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.api.serviceusage.v1beta1", + "version": "v1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_EnableService_async", + "title": "ServiceUsage enableService Sample", + "origin": "API_DEFINITION", + "description": " Enables a service so that it can be used with a project. Operation response type: `google.protobuf.Empty`", + "canonical": true, + "file": "service_usage.enable_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "EnableService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.EnableService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "EnableService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.EnableService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_DisableService_async", + "title": "ServiceUsage disableService Sample", + "origin": "API_DEFINITION", + "description": " Disables a service so that it can no longer be used with a project. This prevents unintended usage that may cause unexpected billing charges or security leaks. It is not valid to call the disable method on a service that is not currently enabled. Callers will receive a `FAILED_PRECONDITION` status if the target service is not currently enabled. Operation response type: `google.protobuf.Empty`", + "canonical": true, + "file": "service_usage.disable_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DisableService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DisableService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "DisableService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DisableService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_GetService_async", + "title": "ServiceUsage getService Sample", + "origin": "API_DEFINITION", + "description": " Returns the service configuration and enabled state for a given service.", + "canonical": true, + "file": "service_usage.get_service.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetService", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.Service", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "GetService", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetService", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ListServices_async", + "title": "ServiceUsage listServices Sample", + "origin": "API_DEFINITION", + "description": " Lists all services available to the specified project, and the current state of those services with respect to the project. The list includes all public services, all services for which the calling user has the `servicemanagement.services.bind` permission, and all services that have already been enabled on the project. The list can be filtered to only include services in a specific state, for example to only include services enabled on the project.", + "canonical": true, + "file": "service_usage.list_services.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 73, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListServices", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListServices", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "filter", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ListServicesResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ListServices", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListServices", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_BatchEnableServices_async", + "title": "ServiceUsage batchEnableServices Sample", + "origin": "API_DEFINITION", + "description": " Enables multiple services on a project. The operation is atomic: if enabling any service fails, then the entire batch fails, and no state changes occur. Operation response type: `google.protobuf.Empty`", + "canonical": true, + "file": "service_usage.batch_enable_services.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 70, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "BatchEnableServices", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.BatchEnableServices", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "service_ids", + "type": "TYPE_STRING[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "BatchEnableServices", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.BatchEnableServices", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ListConsumerQuotaMetrics_async", + "title": "ServiceUsage listConsumerQuotaMetrics Sample", + "origin": "API_DEFINITION", + "description": " Retrieves a summary of all quota information visible to the service consumer, organized by service metric. Each metric includes information about all of its defined limits. Each limit includes the limit configuration (quota unit, preciseness, default value), the current effective limit value, and all of the overrides applied to the limit.", + "canonical": true, + "file": "service_usage.list_consumer_quota_metrics.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 71, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListConsumerQuotaMetrics", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerQuotaMetrics", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + }, + { + "name": "view", + "type": ".google.api.serviceusage.v1beta1.QuotaView" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ListConsumerQuotaMetrics", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerQuotaMetrics", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaMetric_async", + "title": "ServiceUsage getConsumerQuotaMetric Sample", + "origin": "API_DEFINITION", + "description": " Retrieves a summary of quota information for a specific quota metric", + "canonical": true, + "file": "service_usage.get_consumer_quota_metric.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetConsumerQuotaMetric", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaMetric", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "view", + "type": ".google.api.serviceusage.v1beta1.QuotaView" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ConsumerQuotaMetric", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "GetConsumerQuotaMetric", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaMetric", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaLimit_async", + "title": "ServiceUsage getConsumerQuotaLimit Sample", + "origin": "API_DEFINITION", + "description": " Retrieves a summary of quota information for a specific quota limit.", + "canonical": true, + "file": "service_usage.get_consumer_quota_limit.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetConsumerQuotaLimit", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaLimit", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "view", + "type": ".google.api.serviceusage.v1beta1.QuotaView" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ConsumerQuotaLimit", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "GetConsumerQuotaLimit", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GetConsumerQuotaLimit", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_CreateAdminOverride_async", + "title": "ServiceUsage createAdminOverride Sample", + "origin": "API_DEFINITION", + "description": " Creates an admin override. An admin override is applied by an administrator of a parent folder or parent organization of the consumer receiving the override. An admin override is intended to limit the amount of quota the consumer can use out of the total quota pool allocated to all children of the folder or organization.", + "canonical": true, + "file": "service_usage.create_admin_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 73, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.CreateAdminOverride", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "override", + "type": ".google.api.serviceusage.v1beta1.QuotaOverride" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "CreateAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.CreateAdminOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_UpdateAdminOverride_async", + "title": "ServiceUsage updateAdminOverride Sample", + "origin": "API_DEFINITION", + "description": " Updates an admin override.", + "canonical": true, + "file": "service_usage.update_admin_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 78, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.UpdateAdminOverride", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "override", + "type": ".google.api.serviceusage.v1beta1.QuotaOverride" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "UpdateAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.UpdateAdminOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_DeleteAdminOverride_async", + "title": "ServiceUsage deleteAdminOverride Sample", + "origin": "API_DEFINITION", + "description": " Deletes an admin override.", + "canonical": true, + "file": "service_usage.delete_admin_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DeleteAdminOverride", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "DeleteAdminOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DeleteAdminOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ListAdminOverrides_async", + "title": "ServiceUsage listAdminOverrides Sample", + "origin": "API_DEFINITION", + "description": " Lists all admin overrides on this limit.", + "canonical": true, + "file": "service_usage.list_admin_overrides.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListAdminOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListAdminOverrides", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ListAdminOverridesResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ListAdminOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListAdminOverrides", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ImportAdminOverrides_async", + "title": "ServiceUsage importAdminOverrides Sample", + "origin": "API_DEFINITION", + "description": " Creates or updates multiple admin overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", + "canonical": true, + "file": "service_usage.import_admin_overrides.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 72, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportAdminOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ImportAdminOverrides", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "inline_source", + "type": ".google.api.serviceusage.v1beta1.OverrideInlineSource" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ImportAdminOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ImportAdminOverrides", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_CreateConsumerOverride_async", + "title": "ServiceUsage createConsumerOverride Sample", + "origin": "API_DEFINITION", + "description": " Creates a consumer override. A consumer override is applied to the consumer on its own authority to limit its own quota usage. Consumer overrides cannot be used to grant more quota than would be allowed by admin overrides, producer overrides, or the default limit of the service.", + "canonical": true, + "file": "service_usage.create_consumer_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 73, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "CreateConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.CreateConsumerOverride", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "override", + "type": ".google.api.serviceusage.v1beta1.QuotaOverride" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "CreateConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.CreateConsumerOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_UpdateConsumerOverride_async", + "title": "ServiceUsage updateConsumerOverride Sample", + "origin": "API_DEFINITION", + "description": " Updates a consumer override.", + "canonical": true, + "file": "service_usage.update_consumer_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 78, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.UpdateConsumerOverride", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "override", + "type": ".google.api.serviceusage.v1beta1.QuotaOverride" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "UpdateConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.UpdateConsumerOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_DeleteConsumerOverride_async", + "title": "ServiceUsage deleteConsumerOverride Sample", + "origin": "API_DEFINITION", + "description": " Deletes a consumer override.", + "canonical": true, + "file": "service_usage.delete_consumer_override.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 68, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DeleteConsumerOverride", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "DeleteConsumerOverride", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.DeleteConsumerOverride", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ListConsumerOverrides_async", + "title": "ServiceUsage listConsumerOverrides Sample", + "origin": "API_DEFINITION", + "description": " Lists all consumer overrides on this limit.", + "canonical": true, + "file": "service_usage.list_consumer_overrides.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListConsumerOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerOverrides", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "page_size", + "type": "TYPE_INT32" + }, + { + "name": "page_token", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.api.serviceusage.v1beta1.ListConsumerOverridesResponse", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ListConsumerOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ListConsumerOverrides", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_ImportConsumerOverrides_async", + "title": "ServiceUsage importConsumerOverrides Sample", + "origin": "API_DEFINITION", + "description": " Creates or updates multiple consumer overrides atomically, all on the same consumer, but on many different metrics or limits. The name field in the quota override message should not be set.", + "canonical": true, + "file": "service_usage.import_consumer_overrides.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 72, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ImportConsumerOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ImportConsumerOverrides", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "inline_source", + "type": ".google.api.serviceusage.v1beta1.OverrideInlineSource" + }, + { + "name": "force", + "type": "TYPE_BOOL" + }, + { + "name": "force_only", + "type": "TYPE_ENUM[]" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "ImportConsumerOverrides", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.ImportConsumerOverrides", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + }, + { + "regionTag": "serviceusage_v1beta1_generated_ServiceUsage_GenerateServiceIdentity_async", + "title": "ServiceUsage generateServiceIdentity Sample", + "origin": "API_DEFINITION", + "description": " Generates service identity for service.", + "canonical": true, + "file": "service_usage.generate_service_identity.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 57, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GenerateServiceIdentity", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "ServiceUsageClient", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsageClient" + }, + "method": { + "shortName": "GenerateServiceIdentity", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage.GenerateServiceIdentity", + "service": { + "shortName": "ServiceUsage", + "fullName": "google.api.serviceusage.v1beta1.ServiceUsage" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-api-serviceusage/samples/package.json b/packages/google-api-serviceusage/samples/package.json new file mode 100644 index 00000000000..1646017b444 --- /dev/null +++ b/packages/google-api-serviceusage/samples/package.json @@ -0,0 +1,23 @@ +{ + "name": "nodejs-service-usage", + "private": true, + "license": "Apache-2.0", + "author": "Google LLC", + "engines": { + "node": ">=12.0.0" + }, + "files": [ + "*.js" + ], + "scripts": { + "test": "c8 mocha --timeout 600000 test/*.js" + }, + "dependencies": { + "@google-cloud/service-usage": "^2.1.2" + }, + "devDependencies": { + "c8": "^7.1.0", + "chai": "^4.2.0", + "mocha": "^8.0.0" + } +} \ No newline at end of file diff --git a/packages/google-api-serviceusage/samples/quickstart.js b/packages/google-api-serviceusage/samples/quickstart.js new file mode 100644 index 00000000000..d6ae9e743a3 --- /dev/null +++ b/packages/google-api-serviceusage/samples/quickstart.js @@ -0,0 +1,49 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +'use strict'; + +async function main( + parent = 'projects/my-project', // Project to list service usage for. + filter = 'state:ENABLED' // Service to filter on. +) { + // [START serviceusage_quickstart] + // Imports the Google Cloud client library + const {ServiceUsageClient} = require('@google-cloud/service-usage'); + + // const parent = 'projects/my-project', // Project to list service usage for. + // filter = 'state:ENABLED' // Filter when listing services. + + // Creates a client + const client = new ServiceUsageClient(); + async function listServices() { + for await (const service of client.listServicesAsync({ + parent, + filter, + })) { + console.info(service.name); + } + } + listServices(); + // [END serviceusage_quickstart] +} + +main(...process.argv.slice(2)).catch(err => { + console.error(err.message); + process.exitCode = 1; +}); +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); diff --git a/packages/google-api-serviceusage/samples/test/quickstart.js b/packages/google-api-serviceusage/samples/test/quickstart.js new file mode 100644 index 00000000000..041453cbbc6 --- /dev/null +++ b/packages/google-api-serviceusage/samples/test/quickstart.js @@ -0,0 +1,45 @@ +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +'use strict'; + +const path = require('path'); +const cp = require('child_process'); +const {before, describe, it} = require('mocha'); +const {ServiceUsageClient} = require('@google-cloud/service-usage'); +const {assert} = require('chai'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const cwd = path.join(__dirname, '..'); + +const client = new ServiceUsageClient(); + +describe('Quickstart', () => { + let projectId; + before(async () => { + // eslint-disable-next-line no-unused-vars + projectId = await client.getProjectId(); + }); + + it('should run quickstart', async () => { + const stdout = execSync(`node ./quickstart.js projects/${projectId}`, { + cwd, + }); + assert.match(stdout, /phishingprotection.googleapis.com/); + }); +}); diff --git a/packages/google-api-serviceusage/src/index.ts b/packages/google-api-serviceusage/src/index.ts new file mode 100644 index 00000000000..29e2489e3e0 --- /dev/null +++ b/packages/google-api-serviceusage/src/index.ts @@ -0,0 +1,28 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by synthtool. ** +// ** https://github.com/googleapis/synthtool ** +// ** All changes to this file may be overwritten. ** + +import * as v1 from './v1'; +import * as v1beta1 from './v1beta1'; + +const ServiceUsageClient = v1.ServiceUsageClient; +type ServiceUsageClient = v1.ServiceUsageClient; + +export {v1, v1beta1, ServiceUsageClient}; +export default {v1, v1beta1, ServiceUsageClient}; +import * as protos from '../protos/protos'; +export {protos}; diff --git a/packages/google-api-serviceusage/src/v1/gapic_metadata.json b/packages/google-api-serviceusage/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..e40f7702a10 --- /dev/null +++ b/packages/google-api-serviceusage/src/v1/gapic_metadata.json @@ -0,0 +1,87 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.api.serviceusage.v1", + "libraryPackage": "@google-cloud/service-usage", + "services": { + "ServiceUsage": { + "clients": { + "grpc": { + "libraryClient": "ServiceUsageClient", + "rpcs": { + "GetService": { + "methods": [ + "getService" + ] + }, + "BatchGetServices": { + "methods": [ + "batchGetServices" + ] + }, + "EnableService": { + "methods": [ + "enableService" + ] + }, + "DisableService": { + "methods": [ + "disableService" + ] + }, + "BatchEnableServices": { + "methods": [ + "batchEnableServices" + ] + }, + "ListServices": { + "methods": [ + "listServices", + "listServicesStream", + "listServicesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ServiceUsageClient", + "rpcs": { + "GetService": { + "methods": [ + "getService" + ] + }, + "BatchGetServices": { + "methods": [ + "batchGetServices" + ] + }, + "EnableService": { + "methods": [ + "enableService" + ] + }, + "DisableService": { + "methods": [ + "disableService" + ] + }, + "BatchEnableServices": { + "methods": [ + "batchEnableServices" + ] + }, + "ListServices": { + "methods": [ + "listServices", + "listServicesStream", + "listServicesAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-api-serviceusage/src/v1/index.ts b/packages/google-api-serviceusage/src/v1/index.ts new file mode 100644 index 00000000000..d7a95b88c7a --- /dev/null +++ b/packages/google-api-serviceusage/src/v1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {ServiceUsageClient} from './service_usage_client'; diff --git a/packages/google-api-serviceusage/src/v1/service_usage_client.ts b/packages/google-api-serviceusage/src/v1/service_usage_client.ts new file mode 100644 index 00000000000..dfabfc4e358 --- /dev/null +++ b/packages/google-api-serviceusage/src/v1/service_usage_client.ts @@ -0,0 +1,1299 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, +} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1/service_usage_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './service_usage_client_config.json'; +const version = require('../../../package.json').version; + +/** + * Enables services that service consumers want to use on Google Cloud Platform, + * lists the available or enabled services, or disables services that service + * consumers no longer use. + * + * See [Service Usage API](https://cloud.google.com/service-usage/docs/overview) + * @class + * @memberof v1 + */ +export class ServiceUsageClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + operationsClient: gax.OperationsClient; + serviceUsageStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ServiceUsageClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ServiceUsageClient({fallback: 'rest'}, gax); + * ``` + */ + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof ServiceUsageClient; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listServices: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'services' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1/operations', + }, + ]; + } + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); + const enableServiceResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.EnableServiceResponse' + ) as gax.protobuf.Type; + const enableServiceMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.OperationMetadata' + ) as gax.protobuf.Type; + const disableServiceResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.DisableServiceResponse' + ) as gax.protobuf.Type; + const disableServiceMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.OperationMetadata' + ) as gax.protobuf.Type; + const batchEnableServicesResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.BatchEnableServicesResponse' + ) as gax.protobuf.Type; + const batchEnableServicesMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + enableService: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + enableServiceResponse.decode.bind(enableServiceResponse), + enableServiceMetadata.decode.bind(enableServiceMetadata) + ), + disableService: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + disableServiceResponse.decode.bind(disableServiceResponse), + disableServiceMetadata.decode.bind(disableServiceMetadata) + ), + batchEnableServices: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + batchEnableServicesResponse.decode.bind(batchEnableServicesResponse), + batchEnableServicesMetadata.decode.bind(batchEnableServicesMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.api.serviceusage.v1.ServiceUsage', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.serviceUsageStub) { + return this.serviceUsageStub; + } + + // Put together the "service stub" for + // google.api.serviceusage.v1.ServiceUsage. + this.serviceUsageStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.api.serviceusage.v1.ServiceUsage' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.api.serviceusage.v1.ServiceUsage, + 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 serviceUsageStubMethods = [ + 'enableService', + 'disableService', + 'getService', + 'listServices', + 'batchEnableServices', + 'batchGetServices', + ]; + for (const methodName of serviceUsageStubMethods) { + const callPromise = this.serviceUsageStub.then( + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.serviceUsageStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'serviceusage.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'serviceusage.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/service.management', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Returns the service configuration and enabled state for a given service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to get the `ConsumerState` for. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + * @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 [Service]{@link google.api.serviceusage.v1.Service}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.get_service.js + * region_tag:serviceusage_v1_generated_ServiceUsage_GetService_async + */ + getService( + request?: protos.google.api.serviceusage.v1.IGetServiceRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1.IService, + protos.google.api.serviceusage.v1.IGetServiceRequest | undefined, + {} | undefined + ] + >; + getService( + request: protos.google.api.serviceusage.v1.IGetServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.api.serviceusage.v1.IService, + protos.google.api.serviceusage.v1.IGetServiceRequest | null | undefined, + {} | null | undefined + > + ): void; + getService( + request: protos.google.api.serviceusage.v1.IGetServiceRequest, + callback: Callback< + protos.google.api.serviceusage.v1.IService, + protos.google.api.serviceusage.v1.IGetServiceRequest | null | undefined, + {} | null | undefined + > + ): void; + getService( + request?: protos.google.api.serviceusage.v1.IGetServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.api.serviceusage.v1.IService, + | protos.google.api.serviceusage.v1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.api.serviceusage.v1.IService, + protos.google.api.serviceusage.v1.IGetServiceRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.api.serviceusage.v1.IService, + protos.google.api.serviceusage.v1.IGetServiceRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getService(request, options, callback); + } + /** + * Returns the service configurations and enabled states for a given list of + * services. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to retrieve services from. + * If this is set, the parent of all of the services specified in `names` must + * match this field. An example name would be: `projects/123` where `123` is + * the project number. The `BatchGetServices` method currently only supports + * projects. + * @param {string[]} request.names + * Names of the services to retrieve. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + * A single request can get a maximum of 30 services at a 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 an object representing [BatchGetServicesResponse]{@link google.api.serviceusage.v1.BatchGetServicesResponse}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.batch_get_services.js + * region_tag:serviceusage_v1_generated_ServiceUsage_BatchGetServices_async + */ + batchGetServices( + request?: protos.google.api.serviceusage.v1.IBatchGetServicesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + protos.google.api.serviceusage.v1.IBatchGetServicesRequest | undefined, + {} | undefined + ] + >; + batchGetServices( + request: protos.google.api.serviceusage.v1.IBatchGetServicesRequest, + options: CallOptions, + callback: Callback< + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + | protos.google.api.serviceusage.v1.IBatchGetServicesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + batchGetServices( + request: protos.google.api.serviceusage.v1.IBatchGetServicesRequest, + callback: Callback< + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + | protos.google.api.serviceusage.v1.IBatchGetServicesRequest + | null + | undefined, + {} | null | undefined + > + ): void; + batchGetServices( + request?: protos.google.api.serviceusage.v1.IBatchGetServicesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + | protos.google.api.serviceusage.v1.IBatchGetServicesRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + | protos.google.api.serviceusage.v1.IBatchGetServicesRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.api.serviceusage.v1.IBatchGetServicesResponse, + protos.google.api.serviceusage.v1.IBatchGetServicesRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.batchGetServices(request, options, callback); + } + + /** + * Enable a service so that it can be used with a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to enable the service on. + * + * The `EnableService` and `DisableService` methods currently only support + * projects. + * + * Enabling a service requires that the service is public or is shared with + * the user enabling the service. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.enable_service.js + * region_tag:serviceusage_v1_generated_ServiceUsage_EnableService_async + */ + enableService( + request?: protos.google.api.serviceusage.v1.IEnableServiceRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + enableService( + request: protos.google.api.serviceusage.v1.IEnableServiceRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + enableService( + request: protos.google.api.serviceusage.v1.IEnableServiceRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + enableService( + request?: protos.google.api.serviceusage.v1.IEnableServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.enableService(request, options, callback); + } + /** + * Check the status of the long running operation returned by `enableService()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.enable_service.js + * region_tag:serviceusage_v1_generated_ServiceUsage_EnableService_async + */ + async checkEnableServiceProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1.EnableServiceResponse, + protos.google.api.serviceusage.v1.OperationMetadata + > + > { + 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.enableService, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1.EnableServiceResponse, + protos.google.api.serviceusage.v1.OperationMetadata + >; + } + /** + * Disable a service so that it can no longer be used with a project. + * This prevents unintended usage that may cause unexpected billing + * charges or security leaks. + * + * It is not valid to call the disable method on a service that is not + * currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + * the target service is not currently enabled. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to disable the service on. + * + * The enable and disable methods currently only support projects. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` where `123` is the + * project number. + * @param {boolean} request.disableDependentServices + * Indicates if services that are enabled and which depend on this service + * should also be disabled. If not set, an error will be generated if any + * enabled services depend on the service to be disabled. When set, the + * service, and any enabled services that depend on it, will be disabled + * together. + * @param {google.api.serviceusage.v1.DisableServiceRequest.CheckIfServiceHasUsage} request.checkIfServiceHasUsage + * Defines the behavior for checking service usage when disabling a service. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.disable_service.js + * region_tag:serviceusage_v1_generated_ServiceUsage_DisableService_async + */ + disableService( + request?: protos.google.api.serviceusage.v1.IDisableServiceRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + disableService( + request: protos.google.api.serviceusage.v1.IDisableServiceRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + disableService( + request: protos.google.api.serviceusage.v1.IDisableServiceRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + disableService( + request?: protos.google.api.serviceusage.v1.IDisableServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.disableService(request, options, callback); + } + /** + * Check the status of the long running operation returned by `disableService()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.disable_service.js + * region_tag:serviceusage_v1_generated_ServiceUsage_DisableService_async + */ + async checkDisableServiceProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1.DisableServiceResponse, + protos.google.api.serviceusage.v1.OperationMetadata + > + > { + 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.disableService, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1.DisableServiceResponse, + protos.google.api.serviceusage.v1.OperationMetadata + >; + } + /** + * Enable multiple services on a project. The operation is atomic: if enabling + * any service fails, then the entire batch fails, and no state changes occur. + * To enable a single service, use the `EnableService` method instead. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to enable services on. + * + * An example name would be: + * `projects/123` where `123` is the project number. + * + * The `BatchEnableServices` method currently only supports projects. + * @param {string[]} request.serviceIds + * The identifiers of the services to enable on the project. + * + * A valid identifier would be: + * serviceusage.googleapis.com + * + * Enabling services requires that each service is public or is shared with + * the user enabling the service. + * + * A single request can enable a maximum of 20 services at a time. If more + * than 20 services are specified, the request will fail, and no state changes + * will occur. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.batch_enable_services.js + * region_tag:serviceusage_v1_generated_ServiceUsage_BatchEnableServices_async + */ + batchEnableServices( + request?: protos.google.api.serviceusage.v1.IBatchEnableServicesRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + batchEnableServices( + request: protos.google.api.serviceusage.v1.IBatchEnableServicesRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + batchEnableServices( + request: protos.google.api.serviceusage.v1.IBatchEnableServicesRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + batchEnableServices( + request?: protos.google.api.serviceusage.v1.IBatchEnableServicesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.batchEnableServices(request, options, callback); + } + /** + * Check the status of the long running operation returned by `batchEnableServices()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.batch_enable_services.js + * region_tag:serviceusage_v1_generated_ServiceUsage_BatchEnableServices_async + */ + async checkBatchEnableServicesProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1.BatchEnableServicesResponse, + protos.google.api.serviceusage.v1.OperationMetadata + > + > { + 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.batchEnableServices, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1.BatchEnableServicesResponse, + protos.google.api.serviceusage.v1.OperationMetadata + >; + } + /** + * List all services available to the specified project, and the current + * state of those services with respect to the project. The list includes + * all public services, all services for which the calling user has the + * `servicemanagement.services.bind` permission, and all services that have + * already been enabled on the project. The list can be filtered to + * only include services in a specific state, for example to only include + * services enabled on the project. + * + * WARNING: If you need to query enabled services frequently or across + * an organization, you should use + * [Cloud Asset Inventory + * API](https://cloud.google.com/asset-inventory/docs/apis), which provides + * higher throughput and richer filtering capability. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to search for services on. + * + * An example name would be: + * `projects/123` where `123` is the project number. + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @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 [Service]{@link google.api.serviceusage.v1.Service}. + * 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 `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listServices( + request?: protos.google.api.serviceusage.v1.IListServicesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1.IService[], + protos.google.api.serviceusage.v1.IListServicesRequest | null, + protos.google.api.serviceusage.v1.IListServicesResponse + ] + >; + listServices( + request: protos.google.api.serviceusage.v1.IListServicesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.api.serviceusage.v1.IListServicesRequest, + | protos.google.api.serviceusage.v1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1.IService + > + ): void; + listServices( + request: protos.google.api.serviceusage.v1.IListServicesRequest, + callback: PaginationCallback< + protos.google.api.serviceusage.v1.IListServicesRequest, + | protos.google.api.serviceusage.v1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1.IService + > + ): void; + listServices( + request?: protos.google.api.serviceusage.v1.IListServicesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.api.serviceusage.v1.IListServicesRequest, + | protos.google.api.serviceusage.v1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1.IService + >, + callback?: PaginationCallback< + protos.google.api.serviceusage.v1.IListServicesRequest, + | protos.google.api.serviceusage.v1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1.IService + > + ): Promise< + [ + protos.google.api.serviceusage.v1.IService[], + protos.google.api.serviceusage.v1.IListServicesRequest | null, + protos.google.api.serviceusage.v1.IListServicesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listServices(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to search for services on. + * + * An example name would be: + * `projects/123` where `123` is the project number. + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @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 [Service]{@link google.api.serviceusage.v1.Service} 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 `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listServicesStream( + request?: protos.google.api.serviceusage.v1.IListServicesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listServices']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listServices.createStream( + this.innerApiCalls.listServices as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listServices`, 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 + * Parent to search for services on. + * + * An example name would be: + * `projects/123` where `123` is the project number. + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Service]{@link google.api.serviceusage.v1.Service}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1/service_usage.list_services.js + * region_tag:serviceusage_v1_generated_ServiceUsage_ListServices_async + */ + listServicesAsync( + request?: protos.google.api.serviceusage.v1.IListServicesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listServices']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listServices.asyncIterate( + this.innerApiCalls['listServices'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.serviceUsageStub && !this._terminated) { + return this.serviceUsageStub.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-api-serviceusage/src/v1/service_usage_client_config.json b/packages/google-api-serviceusage/src/v1/service_usage_client_config.json new file mode 100644 index 00000000000..4741d1257cd --- /dev/null +++ b/packages/google-api-serviceusage/src/v1/service_usage_client_config.json @@ -0,0 +1,56 @@ +{ + "interfaces": { + "google.api.serviceusage.v1.ServiceUsage": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "EnableService": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DisableService": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetService": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListServices": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "BatchEnableServices": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "BatchGetServices": { + "timeout_millis": 60000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-api-serviceusage/src/v1/service_usage_proto_list.json b/packages/google-api-serviceusage/src/v1/service_usage_proto_list.json new file mode 100644 index 00000000000..fe7a2d84ab6 --- /dev/null +++ b/packages/google-api-serviceusage/src/v1/service_usage_proto_list.json @@ -0,0 +1,4 @@ +[ + "../../protos/google/api/serviceusage/v1/resources.proto", + "../../protos/google/api/serviceusage/v1/serviceusage.proto" +] diff --git a/packages/google-api-serviceusage/src/v1beta1/gapic_metadata.json b/packages/google-api-serviceusage/src/v1beta1/gapic_metadata.json new file mode 100644 index 00000000000..58c4e3947da --- /dev/null +++ b/packages/google-api-serviceusage/src/v1beta1/gapic_metadata.json @@ -0,0 +1,229 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.api.serviceusage.v1beta1", + "libraryPackage": "@google-cloud/service-usage", + "services": { + "ServiceUsage": { + "clients": { + "grpc": { + "libraryClient": "ServiceUsageClient", + "rpcs": { + "GetService": { + "methods": [ + "getService" + ] + }, + "GetConsumerQuotaMetric": { + "methods": [ + "getConsumerQuotaMetric" + ] + }, + "GetConsumerQuotaLimit": { + "methods": [ + "getConsumerQuotaLimit" + ] + }, + "EnableService": { + "methods": [ + "enableService" + ] + }, + "DisableService": { + "methods": [ + "disableService" + ] + }, + "BatchEnableServices": { + "methods": [ + "batchEnableServices" + ] + }, + "CreateAdminOverride": { + "methods": [ + "createAdminOverride" + ] + }, + "UpdateAdminOverride": { + "methods": [ + "updateAdminOverride" + ] + }, + "DeleteAdminOverride": { + "methods": [ + "deleteAdminOverride" + ] + }, + "ImportAdminOverrides": { + "methods": [ + "importAdminOverrides" + ] + }, + "CreateConsumerOverride": { + "methods": [ + "createConsumerOverride" + ] + }, + "UpdateConsumerOverride": { + "methods": [ + "updateConsumerOverride" + ] + }, + "DeleteConsumerOverride": { + "methods": [ + "deleteConsumerOverride" + ] + }, + "ImportConsumerOverrides": { + "methods": [ + "importConsumerOverrides" + ] + }, + "GenerateServiceIdentity": { + "methods": [ + "generateServiceIdentity" + ] + }, + "ListServices": { + "methods": [ + "listServices", + "listServicesStream", + "listServicesAsync" + ] + }, + "ListConsumerQuotaMetrics": { + "methods": [ + "listConsumerQuotaMetrics", + "listConsumerQuotaMetricsStream", + "listConsumerQuotaMetricsAsync" + ] + }, + "ListAdminOverrides": { + "methods": [ + "listAdminOverrides", + "listAdminOverridesStream", + "listAdminOverridesAsync" + ] + }, + "ListConsumerOverrides": { + "methods": [ + "listConsumerOverrides", + "listConsumerOverridesStream", + "listConsumerOverridesAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "ServiceUsageClient", + "rpcs": { + "GetService": { + "methods": [ + "getService" + ] + }, + "GetConsumerQuotaMetric": { + "methods": [ + "getConsumerQuotaMetric" + ] + }, + "GetConsumerQuotaLimit": { + "methods": [ + "getConsumerQuotaLimit" + ] + }, + "EnableService": { + "methods": [ + "enableService" + ] + }, + "DisableService": { + "methods": [ + "disableService" + ] + }, + "BatchEnableServices": { + "methods": [ + "batchEnableServices" + ] + }, + "CreateAdminOverride": { + "methods": [ + "createAdminOverride" + ] + }, + "UpdateAdminOverride": { + "methods": [ + "updateAdminOverride" + ] + }, + "DeleteAdminOverride": { + "methods": [ + "deleteAdminOverride" + ] + }, + "ImportAdminOverrides": { + "methods": [ + "importAdminOverrides" + ] + }, + "CreateConsumerOverride": { + "methods": [ + "createConsumerOverride" + ] + }, + "UpdateConsumerOverride": { + "methods": [ + "updateConsumerOverride" + ] + }, + "DeleteConsumerOverride": { + "methods": [ + "deleteConsumerOverride" + ] + }, + "ImportConsumerOverrides": { + "methods": [ + "importConsumerOverrides" + ] + }, + "GenerateServiceIdentity": { + "methods": [ + "generateServiceIdentity" + ] + }, + "ListServices": { + "methods": [ + "listServices", + "listServicesStream", + "listServicesAsync" + ] + }, + "ListConsumerQuotaMetrics": { + "methods": [ + "listConsumerQuotaMetrics", + "listConsumerQuotaMetricsStream", + "listConsumerQuotaMetricsAsync" + ] + }, + "ListAdminOverrides": { + "methods": [ + "listAdminOverrides", + "listAdminOverridesStream", + "listAdminOverridesAsync" + ] + }, + "ListConsumerOverrides": { + "methods": [ + "listConsumerOverrides", + "listConsumerOverridesStream", + "listConsumerOverridesAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-api-serviceusage/src/v1beta1/index.ts b/packages/google-api-serviceusage/src/v1beta1/index.ts new file mode 100644 index 00000000000..d7a95b88c7a --- /dev/null +++ b/packages/google-api-serviceusage/src/v1beta1/index.ts @@ -0,0 +1,19 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +export {ServiceUsageClient} from './service_usage_client'; diff --git a/packages/google-api-serviceusage/src/v1beta1/service_usage_client.ts b/packages/google-api-serviceusage/src/v1beta1/service_usage_client.ts new file mode 100644 index 00000000000..dbc9a761d09 --- /dev/null +++ b/packages/google-api-serviceusage/src/v1beta1/service_usage_client.ts @@ -0,0 +1,3640 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* global window */ +import type * as gax from 'google-gax'; +import type { + Callback, + CallOptions, + Descriptors, + ClientOptions, + GrpcClientOptions, + LROperation, + PaginationCallback, + GaxCall, +} from 'google-gax'; +import {Transform} from 'stream'; +import * as protos from '../../protos/protos'; +import jsonProtos = require('../../protos/protos.json'); +/** + * Client JSON configuration object, loaded from + * `src/v1beta1/service_usage_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './service_usage_client_config.json'; +const version = require('../../../package.json').version; + +/** + * [Service Usage API](https://cloud.google.com/service-usage/docs/overview) + * @class + * @memberof v1beta1 + */ +export class ServiceUsageClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + operationsClient: gax.OperationsClient; + serviceUsageStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of ServiceUsageClient. + * + * @param {object} [options] - The configuration object. + * The options accepted by the constructor are described in detail + * in [this document](https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#creating-the-client-instance). + * The common options are: + * @param {object} [options.credentials] - Credentials object. + * @param {string} [options.credentials.client_email] + * @param {string} [options.credentials.private_key] + * @param {string} [options.email] - Account email address. Required when + * using a .pem or .p12 keyFilename. + * @param {string} [options.keyFilename] - Full path to the a .json, .pem, or + * .p12 key downloaded from the Google Developers Console. If you provide + * a path to a JSON file, the projectId option below is not necessary. + * NOTE: .pem and .p12 require you to specify options.email as well. + * @param {number} [options.port] - The port on which to connect to + * the remote host. + * @param {string} [options.projectId] - The project ID from the Google + * Developer's Console, e.g. 'grape-spaceship-123'. We will also check + * the environment variable GCLOUD_PROJECT for your project ID. If your + * app is running in an environment which supports + * {@link https://developers.google.com/identity/protocols/application-default-credentials Application Default Credentials}, + * your project ID will be detected automatically. + * @param {string} [options.apiEndpoint] - The domain name of the + * API remote host. + * @param {gax.ClientConfig} [options.clientConfig] - Client configuration override. + * Follows the structure of {@link gapicConfig}. + * @param {boolean | "rest"} [options.fallback] - Use HTTP fallback mode. + * Pass "rest" to use HTTP/1.1 REST API instead of gRPC. + * For more information, please check the + * {@link https://github.com/googleapis/gax-nodejs/blob/main/client-libraries.md#http11-rest-api-mode documentation}. + * @param {gax} [gaxInstance]: loaded instance of `google-gax`. Useful if you + * need to avoid loading the default gRPC version and want to use the fallback + * HTTP implementation. Load only fallback version and pass it to the constructor: + * ``` + * const gax = require('google-gax/build/src/fallback'); // avoids loading google-gax with gRPC + * const client = new ServiceUsageClient({fallback: 'rest'}, gax); + * ``` + */ + constructor( + opts?: ClientOptions, + gaxInstance?: typeof gax | typeof gax.fallback + ) { + // Ensure that options include all the required fields. + const staticMembers = this.constructor as typeof ServiceUsageClient; + const servicePath = + opts?.servicePath || opts?.apiEndpoint || staticMembers.servicePath; + this._providedCustomServicePath = !!( + opts?.servicePath || opts?.apiEndpoint + ); + const port = opts?.port || staticMembers.port; + const clientConfig = opts?.clientConfig ?? {}; + const fallback = + opts?.fallback ?? + (typeof window !== 'undefined' && typeof window?.fetch === 'function'); + opts = Object.assign({servicePath, port, clientConfig, fallback}, opts); + + // If scopes are unset in options and we're connecting to a non-default endpoint, set scopes just in case. + if (servicePath !== staticMembers.servicePath && !('scopes' in opts)) { + opts['scopes'] = staticMembers.scopes; + } + + // Load google-gax module synchronously if needed + if (!gaxInstance) { + gaxInstance = require('google-gax') as typeof gax; + } + + // Choose either gRPC or proto-over-HTTP implementation of google-gax. + this._gaxModule = opts.fallback ? gaxInstance.fallback : gaxInstance; + + // Create a `gaxGrpc` object, with any grpc-specific options sent to the client. + this._gaxGrpc = new this._gaxModule.GrpcClient(opts); + + // Save options to use in initialize() method. + this._opts = opts; + + // Save the auth object to the client, for use by other methods. + this.auth = this._gaxGrpc.auth as gax.GoogleAuth; + + // Set useJWTAccessWithScope on the auth object. + this.auth.useJWTAccessWithScope = true; + + // Set defaultServicePath on the auth object. + this.auth.defaultServicePath = staticMembers.servicePath; + + // Set the default scopes in auth client if needed. + if (servicePath === staticMembers.servicePath) { + this.auth.defaultScopes = staticMembers.scopes; + } + + // Determine the client header string. + const clientHeader = [`gax/${this._gaxModule.version}`, `gapic/${version}`]; + if (typeof process !== 'undefined' && 'versions' in process) { + clientHeader.push(`gl-node/${process.versions.node}`); + } else { + clientHeader.push(`gl-web/${this._gaxModule.version}`); + } + if (!opts.fallback) { + clientHeader.push(`grpc/${this._gaxGrpc.grpcVersion}`); + } else if (opts.fallback === 'rest') { + clientHeader.push(`rest/${this._gaxGrpc.grpcVersion}`); + } + if (opts.libName && opts.libVersion) { + clientHeader.push(`${opts.libName}/${opts.libVersion}`); + } + // Load the applicable protos. + this._protos = this._gaxGrpc.loadProtoJSON(jsonProtos); + + // Some of the methods on this service return "paged" results, + // (e.g. 50 results at a time, with tokens to get subsequent + // pages). Denote the keys used for pagination and results. + this.descriptors.page = { + listServices: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'services' + ), + listConsumerQuotaMetrics: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'metrics' + ), + listAdminOverrides: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'overrides' + ), + listConsumerOverrides: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'overrides' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1beta1/{name=operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1beta1/operations', + }, + ]; + } + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); + const enableServiceResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const enableServiceMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const disableServiceResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const disableServiceMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const batchEnableServicesResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const batchEnableServicesMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const createAdminOverrideResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.QuotaOverride' + ) as gax.protobuf.Type; + const createAdminOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const updateAdminOverrideResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.QuotaOverride' + ) as gax.protobuf.Type; + const updateAdminOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteAdminOverrideResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const deleteAdminOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const importAdminOverridesResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse' + ) as gax.protobuf.Type; + const importAdminOverridesMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata' + ) as gax.protobuf.Type; + const createConsumerOverrideResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.QuotaOverride' + ) as gax.protobuf.Type; + const createConsumerOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const updateConsumerOverrideResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.QuotaOverride' + ) as gax.protobuf.Type; + const updateConsumerOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteConsumerOverrideResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const deleteConsumerOverrideMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const importConsumerOverridesResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse' + ) as gax.protobuf.Type; + const importConsumerOverridesMetadata = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata' + ) as gax.protobuf.Type; + const generateServiceIdentityResponse = protoFilesRoot.lookup( + '.google.api.serviceusage.v1beta1.ServiceIdentity' + ) as gax.protobuf.Type; + const generateServiceIdentityMetadata = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + enableService: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + enableServiceResponse.decode.bind(enableServiceResponse), + enableServiceMetadata.decode.bind(enableServiceMetadata) + ), + disableService: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + disableServiceResponse.decode.bind(disableServiceResponse), + disableServiceMetadata.decode.bind(disableServiceMetadata) + ), + batchEnableServices: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + batchEnableServicesResponse.decode.bind(batchEnableServicesResponse), + batchEnableServicesMetadata.decode.bind(batchEnableServicesMetadata) + ), + createAdminOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + createAdminOverrideResponse.decode.bind(createAdminOverrideResponse), + createAdminOverrideMetadata.decode.bind(createAdminOverrideMetadata) + ), + updateAdminOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateAdminOverrideResponse.decode.bind(updateAdminOverrideResponse), + updateAdminOverrideMetadata.decode.bind(updateAdminOverrideMetadata) + ), + deleteAdminOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteAdminOverrideResponse.decode.bind(deleteAdminOverrideResponse), + deleteAdminOverrideMetadata.decode.bind(deleteAdminOverrideMetadata) + ), + importAdminOverrides: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + importAdminOverridesResponse.decode.bind(importAdminOverridesResponse), + importAdminOverridesMetadata.decode.bind(importAdminOverridesMetadata) + ), + createConsumerOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + createConsumerOverrideResponse.decode.bind( + createConsumerOverrideResponse + ), + createConsumerOverrideMetadata.decode.bind( + createConsumerOverrideMetadata + ) + ), + updateConsumerOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateConsumerOverrideResponse.decode.bind( + updateConsumerOverrideResponse + ), + updateConsumerOverrideMetadata.decode.bind( + updateConsumerOverrideMetadata + ) + ), + deleteConsumerOverride: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteConsumerOverrideResponse.decode.bind( + deleteConsumerOverrideResponse + ), + deleteConsumerOverrideMetadata.decode.bind( + deleteConsumerOverrideMetadata + ) + ), + importConsumerOverrides: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + importConsumerOverridesResponse.decode.bind( + importConsumerOverridesResponse + ), + importConsumerOverridesMetadata.decode.bind( + importConsumerOverridesMetadata + ) + ), + generateServiceIdentity: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + generateServiceIdentityResponse.decode.bind( + generateServiceIdentityResponse + ), + generateServiceIdentityMetadata.decode.bind( + generateServiceIdentityMetadata + ) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.api.serviceusage.v1beta1.ServiceUsage', + gapicConfig as gax.ClientConfig, + opts.clientConfig || {}, + {'x-goog-api-client': clientHeader.join(' ')} + ); + + // Set up a dictionary of "inner API calls"; the core implementation + // of calling the API is handled in `google-gax`, with this code + // merely providing the destination and request information. + this.innerApiCalls = {}; + + // Add a warn function to the client constructor so it can be easily tested. + this.warn = this._gaxModule.warn; + } + + /** + * Initialize the client. + * Performs asynchronous operations (such as authentication) and prepares the client. + * This function will be called automatically when any class method is called for the + * first time, but if you need to initialize it before calling an actual method, + * feel free to call initialize() directly. + * + * You can await on this method if you want to make sure the client is initialized. + * + * @returns {Promise} A promise that resolves to an authenticated service stub. + */ + initialize() { + // If the client stub promise is already initialized, return immediately. + if (this.serviceUsageStub) { + return this.serviceUsageStub; + } + + // Put together the "service stub" for + // google.api.serviceusage.v1beta1.ServiceUsage. + this.serviceUsageStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.api.serviceusage.v1beta1.ServiceUsage' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.api.serviceusage.v1beta1.ServiceUsage, + 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 serviceUsageStubMethods = [ + 'enableService', + 'disableService', + 'getService', + 'listServices', + 'batchEnableServices', + 'listConsumerQuotaMetrics', + 'getConsumerQuotaMetric', + 'getConsumerQuotaLimit', + 'createAdminOverride', + 'updateAdminOverride', + 'deleteAdminOverride', + 'listAdminOverrides', + 'importAdminOverrides', + 'createConsumerOverride', + 'updateConsumerOverride', + 'deleteConsumerOverride', + 'listConsumerOverrides', + 'importConsumerOverrides', + 'generateServiceIdentity', + ]; + for (const methodName of serviceUsageStubMethods) { + const callPromise = this.serviceUsageStub.then( + stub => + (...args: Array<{}>) => { + if (this._terminated) { + return Promise.reject('The client has already been closed.'); + } + const func = stub[methodName]; + return func.apply(stub, args); + }, + (err: Error | null | undefined) => () => { + throw err; + } + ); + + const descriptor = + this.descriptors.page[methodName] || + this.descriptors.longrunning[methodName] || + undefined; + const apiCall = this._gaxModule.createApiCall( + callPromise, + this._defaults[methodName], + descriptor, + this._opts.fallback + ); + + this.innerApiCalls[methodName] = apiCall; + } + + return this.serviceUsageStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'serviceusage.googleapis.com'; + } + + /** + * The DNS address for this API service - same as servicePath(), + * exists for compatibility reasons. + * @returns {string} The DNS address for this service. + */ + static get apiEndpoint() { + return 'serviceusage.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return [ + 'https://www.googleapis.com/auth/cloud-platform', + 'https://www.googleapis.com/auth/cloud-platform.read-only', + 'https://www.googleapis.com/auth/service.management', + ]; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Returns the service configuration and enabled state for a given service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to get the `ConsumerState` for. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + * @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 [Service]{@link google.api.serviceusage.v1beta1.Service}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.get_service.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_GetService_async + * @deprecated GetService is deprecated and may be removed in a future version. + */ + getService( + request?: protos.google.api.serviceusage.v1beta1.IGetServiceRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IService, + protos.google.api.serviceusage.v1beta1.IGetServiceRequest | undefined, + {} | undefined + ] + >; + getService( + request: protos.google.api.serviceusage.v1beta1.IGetServiceRequest, + options: CallOptions, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IService, + | protos.google.api.serviceusage.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getService( + request: protos.google.api.serviceusage.v1beta1.IGetServiceRequest, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IService, + | protos.google.api.serviceusage.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getService( + request?: protos.google.api.serviceusage.v1beta1.IGetServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.api.serviceusage.v1beta1.IService, + | protos.google.api.serviceusage.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.api.serviceusage.v1beta1.IService, + | protos.google.api.serviceusage.v1beta1.IGetServiceRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IService, + protos.google.api.serviceusage.v1beta1.IGetServiceRequest | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$GetService', + 'GetService is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.innerApiCalls.getService(request, options, callback); + } + /** + * Retrieves a summary of quota information for a specific quota metric + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the quota limit. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com/quotas/metrics/serviceusage.googleapis.com%2Fmutate_requests` + * @param {google.api.serviceusage.v1beta1.QuotaView} request.view + * Specifies the level of detail for quota information in the response. + * @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 [ConsumerQuotaMetric]{@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.get_consumer_quota_metric.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaMetric_async + */ + getConsumerQuotaMetric( + request?: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + ( + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | undefined + ), + {} | undefined + ] + >; + getConsumerQuotaMetric( + request: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, + options: CallOptions, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getConsumerQuotaMetric( + request: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getConsumerQuotaMetric( + request?: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric, + ( + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaMetricRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getConsumerQuotaMetric( + request, + options, + callback + ); + } + /** + * Retrieves a summary of quota information for a specific quota limit. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the quota limit. + * + * Use the quota limit resource name returned by previous + * ListConsumerQuotaMetrics and GetConsumerQuotaMetric API calls. + * @param {google.api.serviceusage.v1beta1.QuotaView} request.view + * Specifies the level of detail for quota information in the response. + * @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 [ConsumerQuotaLimit]{@link google.api.serviceusage.v1beta1.ConsumerQuotaLimit}. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#regular-methods) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.get_consumer_quota_limit.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_GetConsumerQuotaLimit_async + */ + getConsumerQuotaLimit( + request?: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + ( + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | undefined + ), + {} | undefined + ] + >; + getConsumerQuotaLimit( + request: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, + options: CallOptions, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getConsumerQuotaLimit( + request: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, + callback: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getConsumerQuotaLimit( + request?: protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit, + ( + | protos.google.api.serviceusage.v1beta1.IGetConsumerQuotaLimitRequest + | undefined + ), + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.getConsumerQuotaLimit(request, options, callback); + } + + /** + * Enables a service so that it can be used with a project. + * + * Operation response type: `google.protobuf.Empty` + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to enable the service on. + * + * The `EnableService` and `DisableService` methods currently only support + * projects. + * + * Enabling a service requires that the service is public or is shared with + * the user enabling the service. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.enable_service.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_EnableService_async + * @deprecated EnableService is deprecated and may be removed in a future version. + */ + enableService( + request?: protos.google.api.serviceusage.v1beta1.IEnableServiceRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + enableService( + request: protos.google.api.serviceusage.v1beta1.IEnableServiceRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + enableService( + request: protos.google.api.serviceusage.v1beta1.IEnableServiceRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + enableService( + request?: protos.google.api.serviceusage.v1beta1.IEnableServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$EnableService', + 'EnableService is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.innerApiCalls.enableService(request, options, callback); + } + /** + * Check the status of the long running operation returned by `enableService()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.enable_service.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_EnableService_async + * @deprecated EnableService is deprecated and may be removed in a future version. + */ + async checkEnableServiceProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + this.warn( + 'DEP$ServiceUsage-$checkEnableServiceProgress', + 'checkEnableServiceProgress is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + 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.enableService, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Disables a service so that it can no longer be used with a project. + * This prevents unintended usage that may cause unexpected billing + * charges or security leaks. + * + * It is not valid to call the disable method on a service that is not + * currently enabled. Callers will receive a `FAILED_PRECONDITION` status if + * the target service is not currently enabled. + * + * Operation response type: `google.protobuf.Empty` + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Name of the consumer and service to disable the service on. + * + * The enable and disable methods currently only support projects. + * + * An example name would be: + * `projects/123/services/serviceusage.googleapis.com` + * where `123` is the project number (not project ID). + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.disable_service.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DisableService_async + * @deprecated DisableService is deprecated and may be removed in a future version. + */ + disableService( + request?: protos.google.api.serviceusage.v1beta1.IDisableServiceRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + disableService( + request: protos.google.api.serviceusage.v1beta1.IDisableServiceRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + disableService( + request: protos.google.api.serviceusage.v1beta1.IDisableServiceRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + disableService( + request?: protos.google.api.serviceusage.v1beta1.IDisableServiceRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$DisableService', + 'DisableService is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.innerApiCalls.disableService(request, options, callback); + } + /** + * Check the status of the long running operation returned by `disableService()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.disable_service.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DisableService_async + * @deprecated DisableService is deprecated and may be removed in a future version. + */ + async checkDisableServiceProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + this.warn( + 'DEP$ServiceUsage-$checkDisableServiceProgress', + 'checkDisableServiceProgress is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + 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.disableService, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Enables multiple services on a project. The operation is atomic: if + * enabling any service fails, then the entire batch fails, and no state + * changes occur. + * + * Operation response type: `google.protobuf.Empty` + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to enable services on. + * + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + * + * The `BatchEnableServices` method currently only supports projects. + * @param {string[]} request.serviceIds + * The identifiers of the services to enable on the project. + * + * A valid identifier would be: + * serviceusage.googleapis.com + * + * Enabling services requires that each service is public or is shared with + * the user enabling the service. + * + * Two or more services must be specified. To enable a single service, + * use the `EnableService` method instead. + * + * A single request can enable a maximum of 20 services at a time. If more + * than 20 services are specified, the request will fail, and no state changes + * will occur. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.batch_enable_services.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_BatchEnableServices_async + * @deprecated BatchEnableServices is deprecated and may be removed in a future version. + */ + batchEnableServices( + request?: protos.google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + batchEnableServices( + request: protos.google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + batchEnableServices( + request: protos.google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + batchEnableServices( + request?: protos.google.api.serviceusage.v1beta1.IBatchEnableServicesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$BatchEnableServices', + 'BatchEnableServices is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.innerApiCalls.batchEnableServices(request, options, callback); + } + /** + * Check the status of the long running operation returned by `batchEnableServices()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.batch_enable_services.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_BatchEnableServices_async + * @deprecated BatchEnableServices is deprecated and may be removed in a future version. + */ + async checkBatchEnableServicesProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + this.warn( + 'DEP$ServiceUsage-$checkBatchEnableServicesProgress', + 'checkBatchEnableServicesProgress is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + 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.batchEnableServices, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Creates an admin override. + * An admin override is applied by an administrator of a parent folder or + * parent organization of the consumer receiving the override. An admin + * override is intended to limit the amount of quota the consumer can use out + * of the total quota pool allocated to all children of the folder or + * organization. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {google.api.serviceusage.v1beta1.QuotaOverride} request.override + * The admin override to create. + * @param {boolean} request.force + * Whether to force the creation of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.create_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_CreateAdminOverride_async + */ + createAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + createAdminOverride( + request: protos.google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createAdminOverride( + request: protos.google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.ICreateAdminOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createAdminOverride(request, options, callback); + } + /** + * Check the status of the long running operation returned by `createAdminOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.create_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_CreateAdminOverride_async + */ + async checkCreateAdminOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.createAdminOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Updates an admin override. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the override to update. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + * @param {google.api.serviceusage.v1beta1.QuotaOverride} request.override + * The new override. + * Only the override_value is updated; all other fields are ignored. + * @param {boolean} request.force + * Whether to force the update of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {google.protobuf.FieldMask} request.updateMask + * Update only the specified fields of the override. + * If unset, all fields will be updated. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.update_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_UpdateAdminOverride_async + */ + updateAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateAdminOverride( + request: protos.google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateAdminOverride( + request: protos.google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.IUpdateAdminOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateAdminOverride(request, options, callback); + } + /** + * Check the status of the long running operation returned by `updateAdminOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.update_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_UpdateAdminOverride_async + */ + async checkUpdateAdminOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.updateAdminOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Deletes an admin override. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the override to delete. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/adminOverrides/4a3f2c1d` + * @param {boolean} request.force + * Whether to force the deletion of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.delete_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DeleteAdminOverride_async + */ + deleteAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteAdminOverride( + request: protos.google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteAdminOverride( + request: protos.google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteAdminOverride( + request?: protos.google.api.serviceusage.v1beta1.IDeleteAdminOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteAdminOverride(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteAdminOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.delete_admin_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DeleteAdminOverride_async + */ + async checkDeleteAdminOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.deleteAdminOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Creates or updates multiple admin overrides atomically, all on the + * same consumer, but on many different metrics or limits. + * The name field in the quota override message should not be set. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the consumer. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com` + * @param {google.api.serviceusage.v1beta1.OverrideInlineSource} request.inlineSource + * The import data is specified in the request message itself + * @param {boolean} request.force + * Whether to force the creation of the quota overrides. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.import_admin_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ImportAdminOverrides_async + */ + importAdminOverrides( + request?: protos.google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + importAdminOverrides( + request: protos.google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importAdminOverrides( + request: protos.google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importAdminOverrides( + request?: protos.google.api.serviceusage.v1beta1.IImportAdminOverridesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.importAdminOverrides(request, options, callback); + } + /** + * Check the status of the long running operation returned by `importAdminOverrides()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.import_admin_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ImportAdminOverrides_async + */ + async checkImportAdminOverridesProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + > + > { + 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.importAdminOverrides, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.ImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.ImportAdminOverridesMetadata + >; + } + /** + * Creates a consumer override. + * A consumer override is applied to the consumer on its own authority to + * limit its own quota usage. Consumer overrides cannot be used to grant more + * quota than would be allowed by admin overrides, producer overrides, or the + * default limit of the service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {google.api.serviceusage.v1beta1.QuotaOverride} request.override + * The override to create. + * @param {boolean} request.force + * Whether to force the creation of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.create_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_CreateConsumerOverride_async + */ + createConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + createConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + createConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.ICreateConsumerOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.createConsumerOverride( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `createConsumerOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.create_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_CreateConsumerOverride_async + */ + async checkCreateConsumerOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.createConsumerOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Updates a consumer override. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the override to update. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + * @param {google.api.serviceusage.v1beta1.QuotaOverride} request.override + * The new override. + * Only the override_value is updated; all other fields are ignored. + * @param {boolean} request.force + * Whether to force the update of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {google.protobuf.FieldMask} request.updateMask + * Update only the specified fields of the override. + * If unset, all fields will be updated. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.update_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_UpdateConsumerOverride_async + */ + updateConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.IUpdateConsumerOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateConsumerOverride( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `updateConsumerOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.update_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_UpdateConsumerOverride_async + */ + async checkUpdateConsumerOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.updateConsumerOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.QuotaOverride, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Deletes a consumer override. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * The resource name of the override to delete. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion/consumerOverrides/4a3f2c1d` + * @param {boolean} request.force + * Whether to force the deletion of the quota override. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.delete_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DeleteConsumerOverride_async + */ + deleteConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteConsumerOverride( + request: protos.google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteConsumerOverride( + request?: protos.google.api.serviceusage.v1beta1.IDeleteConsumerOverrideRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + name: request.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.deleteConsumerOverride( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `deleteConsumerOverride()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.delete_consumer_override.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_DeleteConsumerOverride_async + */ + async checkDeleteConsumerOverrideProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + > + > { + 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.deleteConsumerOverride, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.api.serviceusage.v1beta1.OperationMetadata + >; + } + /** + * Creates or updates multiple consumer overrides atomically, all on the + * same consumer, but on many different metrics or limits. + * The name field in the quota override message should not be set. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the consumer. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com` + * @param {google.api.serviceusage.v1beta1.OverrideInlineSource} request.inlineSource + * The import data is specified in the request message itself + * @param {boolean} request.force + * Whether to force the creation of the quota overrides. + * Setting the force parameter to 'true' ignores all quota safety checks that + * would fail the request. QuotaSafetyCheck lists all such validations. + * @param {number[]} request.forceOnly + * The list of quota safety checks to ignore before the override mutation. + * Unlike 'force' field that ignores all the quota safety checks, the + * 'force_only' field ignores only the specified checks; other checks are + * still enforced. The 'force' and 'force_only' fields cannot both be set. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.import_consumer_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ImportConsumerOverrides_async + */ + importConsumerOverrides( + request?: protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + importConsumerOverrides( + request: protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importConsumerOverrides( + request: protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + importConsumerOverrides( + request?: protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.importConsumerOverrides( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `importConsumerOverrides()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.import_consumer_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ImportConsumerOverrides_async + */ + async checkImportConsumerOverridesProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + > + > { + 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.importConsumerOverrides, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesMetadata + >; + } + /** + * Generates service identity for service. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Name of the consumer and service to generate an identity for. + * + * The `GenerateServiceIdentity` methods currently only support projects. + * + * An example name would be: + * `projects/123/services/example.googleapis.com` where `123` is the + * project number. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Promise} - The promise which resolves to an array. + * The first element of the array is an object representing + * a long running operation. Its `promise()` method returns a promise + * you can `await` for. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.generate_service_identity.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_GenerateServiceIdentity_async + */ + generateServiceIdentity( + request?: protos.google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + generateServiceIdentity( + request: protos.google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + generateServiceIdentity( + request: protos.google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, + callback: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + generateServiceIdentity( + request?: protos.google.api.serviceusage.v1beta1.IGenerateServiceIdentityRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.generateServiceIdentity( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `generateServiceIdentity()`. + * @param {String} name + * The operation name that will be passed. + * @returns {Promise} - The promise which resolves to an object. + * The decoded operation object has result and metadata field to get information from. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#long-running-operations) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.generate_service_identity.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_GenerateServiceIdentity_async + */ + async checkGenerateServiceIdentityProgress( + name: string + ): Promise< + LROperation< + protos.google.api.serviceusage.v1beta1.ServiceIdentity, + protos.google.protobuf.Empty + > + > { + 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.generateServiceIdentity, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.api.serviceusage.v1beta1.ServiceIdentity, + protos.google.protobuf.Empty + >; + } + /** + * Lists all services available to the specified project, and the current + * state of those services with respect to the project. The list includes + * all public services, all services for which the calling user has the + * `servicemanagement.services.bind` permission, and all services that have + * already been enabled on the project. The list can be filtered to + * only include services in a specific state, for example to only include + * services enabled on the project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to search for services on. + * + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @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 [Service]{@link google.api.serviceusage.v1beta1.Service}. + * 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 `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @deprecated ListServices is deprecated and may be removed in a future version. + */ + listServices( + request?: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IService[], + protos.google.api.serviceusage.v1beta1.IListServicesRequest | null, + protos.google.api.serviceusage.v1beta1.IListServicesResponse + ] + >; + listServices( + request: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListServicesRequest, + | protos.google.api.serviceusage.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IService + > + ): void; + listServices( + request: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListServicesRequest, + | protos.google.api.serviceusage.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IService + > + ): void; + listServices( + request?: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListServicesRequest, + | protos.google.api.serviceusage.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IService + >, + callback?: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListServicesRequest, + | protos.google.api.serviceusage.v1beta1.IListServicesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IService + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IService[], + protos.google.api.serviceusage.v1beta1.IListServicesRequest | null, + protos.google.api.serviceusage.v1beta1.IListServicesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$ListServices', + 'ListServices is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.innerApiCalls.listServices(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent to search for services on. + * + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @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 [Service]{@link google.api.serviceusage.v1beta1.Service} 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 `listServicesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @deprecated ListServices is deprecated and may be removed in a future version. + */ + listServicesStream( + request?: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listServices']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$ListServices', + 'ListServices is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.descriptors.page.listServices.createStream( + this.innerApiCalls.listServices as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listServices`, 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 + * Parent to search for services on. + * + * An example name would be: + * `projects/123` + * where `123` is the project number (not project ID). + * @param {number} request.pageSize + * Requested size of the next page of data. + * Requested page size cannot exceed 200. + * If not set, the default page size is 50. + * @param {string} request.pageToken + * Token identifying which result to start with, which is returned by a + * previous list call. + * @param {string} request.filter + * Only list services that conform to the given filter. + * The allowed filter strings are `state:ENABLED` and `state:DISABLED`. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [Service]{@link google.api.serviceusage.v1beta1.Service}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.list_services.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ListServices_async + * @deprecated ListServices is deprecated and may be removed in a future version. + */ + listServicesAsync( + request?: protos.google.api.serviceusage.v1beta1.IListServicesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listServices']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + this.warn( + 'DEP$ServiceUsage-$ListServices', + 'ListServices is deprecated and may be removed in a future version.', + 'DeprecationWarning' + ); + return this.descriptors.page.listServices.asyncIterate( + this.innerApiCalls['listServices'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + /** + * Retrieves a summary of all quota information visible to the service + * consumer, organized by service metric. Each metric includes information + * about all of its defined limits. Each limit includes the limit + * configuration (quota unit, preciseness, default value), the current + * effective limit value, and all of the overrides applied to the limit. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent of the quotas resource. + * + * Some example names would be: + * `projects/123/services/serviceconsumermanagement.googleapis.com` + * `folders/345/services/serviceconsumermanagement.googleapis.com` + * `organizations/456/services/serviceconsumermanagement.googleapis.com` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @param {google.api.serviceusage.v1beta1.QuotaView} request.view + * Specifies the level of detail for quota information in the response. + * @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 [ConsumerQuotaMetric]{@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric}. + * 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 `listConsumerQuotaMetricsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listConsumerQuotaMetrics( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric[], + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest | null, + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + ] + >; + listConsumerQuotaMetrics( + request: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric + > + ): void; + listConsumerQuotaMetrics( + request: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric + > + ): void; + listConsumerQuotaMetrics( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric + >, + callback?: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric[], + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest | null, + protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listConsumerQuotaMetrics( + request, + options, + callback + ); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Parent of the quotas resource. + * + * Some example names would be: + * `projects/123/services/serviceconsumermanagement.googleapis.com` + * `folders/345/services/serviceconsumermanagement.googleapis.com` + * `organizations/456/services/serviceconsumermanagement.googleapis.com` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @param {google.api.serviceusage.v1beta1.QuotaView} request.view + * Specifies the level of detail for quota information in the response. + * @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 [ConsumerQuotaMetric]{@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric} 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 `listConsumerQuotaMetricsAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listConsumerQuotaMetricsStream( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listConsumerQuotaMetrics']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listConsumerQuotaMetrics.createStream( + this.innerApiCalls.listConsumerQuotaMetrics as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listConsumerQuotaMetrics`, 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 + * Parent of the quotas resource. + * + * Some example names would be: + * `projects/123/services/serviceconsumermanagement.googleapis.com` + * `folders/345/services/serviceconsumermanagement.googleapis.com` + * `organizations/456/services/serviceconsumermanagement.googleapis.com` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @param {google.api.serviceusage.v1beta1.QuotaView} request.view + * Specifies the level of detail for quota information in the response. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [ConsumerQuotaMetric]{@link google.api.serviceusage.v1beta1.ConsumerQuotaMetric}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.list_consumer_quota_metrics.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ListConsumerQuotaMetrics_async + */ + listConsumerQuotaMetricsAsync( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerQuotaMetricsRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listConsumerQuotaMetrics']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listConsumerQuotaMetrics.asyncIterate( + this.innerApiCalls['listConsumerQuotaMetrics'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + /** + * Lists all admin overrides on this limit. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @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 [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride}. + * 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 `listAdminOverridesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAdminOverrides( + request?: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IQuotaOverride[], + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest | null, + protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + ] + >; + listAdminOverrides( + request: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): void; + listAdminOverrides( + request: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): void; + listAdminOverrides( + request?: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + >, + callback?: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IQuotaOverride[], + protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest | null, + protos.google.api.serviceusage.v1beta1.IListAdminOverridesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listAdminOverrides(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @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 [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride} 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 `listAdminOverridesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listAdminOverridesStream( + request?: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listAdminOverrides']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAdminOverrides.createStream( + this.innerApiCalls.listAdminOverrides as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listAdminOverrides`, 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 + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.list_admin_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ListAdminOverrides_async + */ + listAdminOverridesAsync( + request?: protos.google.api.serviceusage.v1beta1.IListAdminOverridesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listAdminOverrides']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listAdminOverrides.asyncIterate( + this.innerApiCalls['listAdminOverrides'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + /** + * Lists all consumer overrides on this limit. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @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 [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride}. + * 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 `listConsumerOverridesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listConsumerOverrides( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + options?: CallOptions + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IQuotaOverride[], + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest | null, + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + ] + >; + listConsumerOverrides( + request: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): void; + listConsumerOverrides( + request: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + callback: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): void; + listConsumerOverrides( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + >, + callback?: PaginationCallback< + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + | protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + | null + | undefined, + protos.google.api.serviceusage.v1beta1.IQuotaOverride + > + ): Promise< + [ + protos.google.api.serviceusage.v1beta1.IQuotaOverride[], + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest | null, + protos.google.api.serviceusage.v1beta1.IListConsumerOverridesResponse + ] + > | void { + request = request || {}; + let options: CallOptions; + if (typeof optionsOrCallback === 'function' && callback === undefined) { + callback = optionsOrCallback; + options = {}; + } else { + options = optionsOrCallback as CallOptions; + } + options = options || {}; + options.otherArgs = options.otherArgs || {}; + options.otherArgs.headers = options.otherArgs.headers || {}; + options.otherArgs.headers['x-goog-request-params'] = + this._gaxModule.routingHeader.fromParams({ + parent: request.parent ?? '', + }); + this.initialize(); + return this.innerApiCalls.listConsumerOverrides(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @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 [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride} 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 `listConsumerOverridesAsync()` + * method described below for async iteration which you can stop as needed. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + */ + listConsumerOverridesStream( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listConsumerOverrides']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listConsumerOverrides.createStream( + this.innerApiCalls.listConsumerOverrides as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listConsumerOverrides`, 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 + * The resource name of the parent quota limit, returned by a + * ListConsumerQuotaMetrics or GetConsumerQuotaMetric call. + * + * An example name would be: + * `projects/123/services/compute.googleapis.com/consumerQuotaMetrics/compute.googleapis.com%2Fcpus/limits/%2Fproject%2Fregion` + * @param {number} request.pageSize + * Requested size of the next page of data. + * @param {string} request.pageToken + * Token identifying which result to start with; returned by a previous list + * call. + * @param {object} [options] + * Call options. See {@link https://googleapis.dev/nodejs/google-gax/latest/interfaces/CallOptions.html|CallOptions} for more details. + * @returns {Object} + * An iterable Object that allows [async iteration](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Iteration_protocols). + * When you iterate the returned iterable, each element will be an object representing + * [QuotaOverride]{@link google.api.serviceusage.v1beta1.QuotaOverride}. The API will be called under the hood as needed, once per the page, + * so you can stop the iteration when you don't need more results. + * Please see the + * [documentation](https://github.com/googleapis/gax-nodejs/blob/master/client-libraries.md#auto-pagination) + * for more details and examples. + * @example include:samples/generated/v1beta1/service_usage.list_consumer_overrides.js + * region_tag:serviceusage_v1beta1_generated_ServiceUsage_ListConsumerOverrides_async + */ + listConsumerOverridesAsync( + request?: protos.google.api.serviceusage.v1beta1.IListConsumerOverridesRequest, + 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 ?? '', + }); + const defaultCallSettings = this._defaults['listConsumerOverrides']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listConsumerOverrides.asyncIterate( + this.innerApiCalls['listConsumerOverrides'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + + /** + * Terminate the gRPC channel and close the client. + * + * The client will no longer be usable and all future behavior is undefined. + * @returns {Promise} A promise that resolves when the client is closed. + */ + close(): Promise { + if (this.serviceUsageStub && !this._terminated) { + return this.serviceUsageStub.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-api-serviceusage/src/v1beta1/service_usage_client_config.json b/packages/google-api-serviceusage/src/v1beta1/service_usage_client_config.json new file mode 100644 index 00000000000..70f82a5f00d --- /dev/null +++ b/packages/google-api-serviceusage/src/v1beta1/service_usage_client_config.json @@ -0,0 +1,121 @@ +{ + "interfaces": { + "google.api.serviceusage.v1beta1.ServiceUsage": { + "retry_codes": { + "non_idempotent": [], + "idempotent": [ + "DEADLINE_EXCEEDED", + "UNAVAILABLE" + ] + }, + "retry_params": { + "default": { + "initial_retry_delay_millis": 100, + "retry_delay_multiplier": 1.3, + "max_retry_delay_millis": 60000, + "initial_rpc_timeout_millis": 60000, + "rpc_timeout_multiplier": 1, + "max_rpc_timeout_millis": 60000, + "total_timeout_millis": 600000 + } + }, + "methods": { + "EnableService": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DisableService": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetService": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListServices": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "BatchEnableServices": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListConsumerQuotaMetrics": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetConsumerQuotaMetric": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetConsumerQuotaLimit": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CreateAdminOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateAdminOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteAdminOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListAdminOverrides": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ImportAdminOverrides": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "CreateConsumerOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateConsumerOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteConsumerOverride": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListConsumerOverrides": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ImportConsumerOverrides": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GenerateServiceIdentity": { + "timeout_millis": 5000, + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-api-serviceusage/src/v1beta1/service_usage_proto_list.json b/packages/google-api-serviceusage/src/v1beta1/service_usage_proto_list.json new file mode 100644 index 00000000000..ddc0d2c85f0 --- /dev/null +++ b/packages/google-api-serviceusage/src/v1beta1/service_usage_proto_list.json @@ -0,0 +1,4 @@ +[ + "../../protos/google/api/serviceusage/v1beta1/resources.proto", + "../../protos/google/api/serviceusage/v1beta1/serviceusage.proto" +] diff --git a/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.js b/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..ad0062db294 --- /dev/null +++ b/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.js @@ -0,0 +1,26 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +/* eslint-disable node/no-missing-require, no-unused-vars */ +const serviceusage = require('@google-cloud/service-usage'); + +function main() { + const serviceUsageClient = new serviceusage.ServiceUsageClient(); +} + +main(); diff --git a/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.ts b/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..9c57160bc7f --- /dev/null +++ b/packages/google-api-serviceusage/system-test/fixtures/sample/src/index.ts @@ -0,0 +1,32 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {ServiceUsageClient} from '@google-cloud/service-usage'; + +// check that the client class type name can be used +function doStuffWithServiceUsageClient(client: ServiceUsageClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const serviceUsageClient = new ServiceUsageClient(); + doStuffWithServiceUsageClient(serviceUsageClient); +} + +main(); diff --git a/packages/google-api-serviceusage/system-test/install.ts b/packages/google-api-serviceusage/system-test/install.ts new file mode 100644 index 00000000000..6dd1eaadafa --- /dev/null +++ b/packages/google-api-serviceusage/system-test/install.ts @@ -0,0 +1,51 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import {packNTest} from 'pack-n-play'; +import {readFileSync} from 'fs'; +import {describe, it} from 'mocha'; + +describe('📦 pack-n-play test', () => { + it('TypeScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'TypeScript user can use the type definitions', + ts: readFileSync( + './system-test/fixtures/sample/src/index.ts' + ).toString(), + }, + }; + await packNTest(options); + }); + + it('JavaScript code', async function () { + this.timeout(300000); + const options = { + packageDir: process.cwd(), + sample: { + description: 'JavaScript user can use the library', + ts: readFileSync( + './system-test/fixtures/sample/src/index.js' + ).toString(), + }, + }; + await packNTest(options); + }); +}); diff --git a/packages/google-api-serviceusage/test/gapic_service_usage_v1.ts b/packages/google-api-serviceusage/test/gapic_service_usage_v1.ts new file mode 100644 index 00000000000..3c114e6c872 --- /dev/null +++ b/packages/google-api-serviceusage/test/gapic_service_usage_v1.ts @@ -0,0 +1,1404 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as serviceusageModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation, operationsProtos} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1.ServiceUsageClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = serviceusageModule.v1.ServiceUsageClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = serviceusageModule.v1.ServiceUsageClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = serviceusageModule.v1.ServiceUsageClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new serviceusageModule.v1.ServiceUsageClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceUsageStub, undefined); + await client.initialize(); + assert(client.serviceUsageStub); + }); + + it('has close method for the initialized client', done => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.serviceUsageStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceUsageStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new serviceusageModule.v1.ServiceUsageClient({ + 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('getService', () => { + it('invokes getService without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1.Service() + ); + client.innerApiCalls.getService = stubSimpleCall(expectedResponse); + const [response] = await client.getService(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1.Service() + ); + client.innerApiCalls.getService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getService( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1.IService | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getService = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService with closed client', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getService(request), expectedError); + }); + }); + + describe('batchGetServices', () => { + it('invokes batchGetServices without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchGetServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesResponse() + ); + client.innerApiCalls.batchGetServices = stubSimpleCall(expectedResponse); + const [response] = await client.batchGetServices(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchGetServices without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchGetServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesResponse() + ); + client.innerApiCalls.batchGetServices = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.batchGetServices( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1.IBatchGetServicesResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchGetServices with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchGetServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.batchGetServices = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.batchGetServices(request), expectedError); + const actualRequest = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchGetServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchGetServices with closed client', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchGetServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchGetServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.batchGetServices(request), expectedError); + }); + }); + + describe('enableService', () => { + it('invokes enableService without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.enableService = + stubLongRunningCall(expectedResponse); + const [operation] = await client.enableService(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.enableService = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.enableService( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1.IEnableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService with call error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.enableService = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.enableService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService with LRO error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.enableService = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.enableService(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkEnableServiceProgress without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkEnableServiceProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkEnableServiceProgress with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkEnableServiceProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('disableService', () => { + it('invokes disableService without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.disableService = + stubLongRunningCall(expectedResponse); + const [operation] = await client.disableService(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.disableService = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.disableService( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1.IDisableServiceResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService with call error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.disableService = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.disableService(request), expectedError); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService with LRO error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.disableService = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.disableService(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDisableServiceProgress without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkDisableServiceProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDisableServiceProgress with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkDisableServiceProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('batchEnableServices', () => { + it('invokes batchEnableServices without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.batchEnableServices = + stubLongRunningCall(expectedResponse); + const [operation] = await client.batchEnableServices(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.batchEnableServices = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.batchEnableServices( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1.IBatchEnableServicesResponse, + protos.google.api.serviceusage.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices with call error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.batchEnableServices = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.batchEnableServices(request), expectedError); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices with LRO error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.batchEnableServices = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.batchEnableServices(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkBatchEnableServicesProgress without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkBatchEnableServicesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkBatchEnableServicesProgress with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkBatchEnableServicesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listServices', () => { + it('invokes listServices without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + ]; + client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); + const [response] = await client.listServices(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices without error using callback', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + ]; + client.innerApiCalls.listServices = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listServices( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1.IService[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listServices = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listServices(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServicesStream without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + ]; + client.descriptors.page.listServices.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1.Service[] = []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1.Service) => { + 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.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request) + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listServicesStream with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1.Service[] = []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1.Service) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request) + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listServices without error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + generateSampleMessage(new protos.google.api.serviceusage.v1.Service()), + ]; + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.api.serviceusage.v1.IService[] = []; + const iterable = client.listServicesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listServices with error', async () => { + const client = new serviceusageModule.v1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listServicesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.api.serviceusage.v1.IService[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); +}); diff --git a/packages/google-api-serviceusage/test/gapic_service_usage_v1beta1.ts b/packages/google-api-serviceusage/test/gapic_service_usage_v1beta1.ts new file mode 100644 index 00000000000..c7d772c6d85 --- /dev/null +++ b/packages/google-api-serviceusage/test/gapic_service_usage_v1beta1.ts @@ -0,0 +1,4441 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +// +// ** This file is automatically generated by gapic-generator-typescript. ** +// ** https://github.com/googleapis/gapic-generator-typescript ** +// ** All changes to this file may be overwritten. ** + +import * as protos from '../protos/protos'; +import * as assert from 'assert'; +import * as sinon from 'sinon'; +import {SinonStub} from 'sinon'; +import {describe, it} from 'mocha'; +import * as serviceusageModule from '../src'; + +import {PassThrough} from 'stream'; + +import {protobuf, LROperation, operationsProtos} from 'google-gax'; + +// Dynamically loaded proto JSON is needed to get the type information +// to fill in default values for request objects +const root = protobuf.Root.fromJSON( + require('../protos/protos.json') +).resolveAll(); + +// eslint-disable-next-line @typescript-eslint/no-unused-vars +function getTypeDefaultValue(typeName: string, fields: string[]) { + let type = root.lookupType(typeName) as protobuf.Type; + for (const field of fields.slice(0, -1)) { + type = type.fields[field]?.resolvedType as protobuf.Type; + } + return type.fields[fields[fields.length - 1]]?.defaultValue; +} + +function generateSampleMessage(instance: T) { + const filledObject = ( + instance.constructor as typeof protobuf.Message + ).toObject(instance as protobuf.Message, {defaults: true}); + return (instance.constructor as typeof protobuf.Message).fromObject( + filledObject + ) as T; +} + +function stubSimpleCall(response?: ResponseType, error?: Error) { + return error + ? sinon.stub().rejects(error) + : sinon.stub().resolves([response]); +} + +function stubSimpleCallWithCallback( + response?: ResponseType, + error?: Error +) { + return error + ? sinon.stub().callsArgWith(2, error) + : sinon.stub().callsArgWith(2, null, response); +} + +function stubLongRunningCall( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().rejects(callError) + : sinon.stub().resolves([mockOperation]); +} + +function stubLongRunningCallWithCallback( + response?: ResponseType, + callError?: Error, + lroError?: Error +) { + const innerStub = lroError + ? sinon.stub().rejects(lroError) + : sinon.stub().resolves([response]); + const mockOperation = { + promise: innerStub, + }; + return callError + ? sinon.stub().callsArgWith(2, callError) + : sinon.stub().callsArgWith(2, null, mockOperation); +} + +function stubPageStreamingCall( + responses?: ResponseType[], + error?: Error +) { + const pagingStub = sinon.stub(); + if (responses) { + for (let i = 0; i < responses.length; ++i) { + pagingStub.onCall(i).callsArgWith(2, null, responses[i]); + } + } + const transformStub = error + ? sinon.stub().callsArgWith(2, error) + : pagingStub; + const mockStream = new PassThrough({ + objectMode: true, + transform: transformStub, + }); + // trigger as many responses as needed + if (responses) { + for (let i = 0; i < responses.length; ++i) { + setImmediate(() => { + mockStream.write({}); + }); + } + setImmediate(() => { + mockStream.end(); + }); + } else { + setImmediate(() => { + mockStream.write({}); + }); + setImmediate(() => { + mockStream.end(); + }); + } + return sinon.stub().returns(mockStream); +} + +function stubAsyncIterationCall( + responses?: ResponseType[], + error?: Error +) { + let counter = 0; + const asyncIterable = { + [Symbol.asyncIterator]() { + return { + async next() { + if (error) { + return Promise.reject(error); + } + if (counter >= responses!.length) { + return Promise.resolve({done: true, value: undefined}); + } + return Promise.resolve({done: false, value: responses![counter++]}); + }, + }; + }, + }; + return sinon.stub().returns(asyncIterable); +} + +describe('v1beta1.ServiceUsageClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = + serviceusageModule.v1beta1.ServiceUsageClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = + serviceusageModule.v1beta1.ServiceUsageClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = serviceusageModule.v1beta1.ServiceUsageClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceUsageStub, undefined); + await client.initialize(); + assert(client.serviceUsageStub); + }); + + it('has close method for the initialized client', done => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.serviceUsageStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.serviceUsageStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.auth.getProjectId = sinon.stub().resolves(fakeProjectId); + const result = await client.getProjectId(); + assert.strictEqual(result, fakeProjectId); + assert((client.auth.getProjectId as SinonStub).calledWithExactly()); + }); + + it('has getProjectId method with callback', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + 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('getService', () => { + it('invokes getService without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ); + client.innerApiCalls.getService = stubSimpleCall(expectedResponse); + const [response] = await client.getService(request); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ); + client.innerApiCalls.getService = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getService( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1beta1.IService | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getService = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getService(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getService with closed client', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getService(request), expectedError); + assert(stub.calledOnce); + }); + }); + + describe('getConsumerQuotaMetric', () => { + it('invokes getConsumerQuotaMetric without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ); + client.innerApiCalls.getConsumerQuotaMetric = + stubSimpleCall(expectedResponse); + const [response] = await client.getConsumerQuotaMetric(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaMetric without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ); + client.innerApiCalls.getConsumerQuotaMetric = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getConsumerQuotaMetric( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaMetric with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getConsumerQuotaMetric = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.getConsumerQuotaMetric(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaMetric as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaMetric with closed client', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaMetricRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.getConsumerQuotaMetric(request), + expectedError + ); + }); + }); + + describe('getConsumerQuotaLimit', () => { + it('invokes getConsumerQuotaLimit without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaLimit() + ); + client.innerApiCalls.getConsumerQuotaLimit = + stubSimpleCall(expectedResponse); + const [response] = await client.getConsumerQuotaLimit(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaLimit without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaLimit() + ); + client.innerApiCalls.getConsumerQuotaLimit = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getConsumerQuotaLimit( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1beta1.IConsumerQuotaLimit | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaLimit with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getConsumerQuotaLimit = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.getConsumerQuotaLimit(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getConsumerQuotaLimit as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getConsumerQuotaLimit with closed client', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GetConsumerQuotaLimitRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.getConsumerQuotaLimit(request), + expectedError + ); + }); + }); + + describe('enableService', () => { + it('invokes enableService without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.enableService = + stubLongRunningCall(expectedResponse); + const [operation] = await client.enableService(request); + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.enableService = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.enableService( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.enableService = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.enableService(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes enableService with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.EnableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.EnableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.enableService = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.enableService(request); + await assert.rejects(operation.promise(), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.enableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkEnableServiceProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + 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.checkEnableServiceProgress( + expectedResponse.name + ); + assert(stub.calledOnce); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkEnableServiceProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkEnableServiceProgress(''), + expectedError + ); + assert(stub.calledOnce); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('disableService', () => { + it('invokes disableService without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.disableService = + stubLongRunningCall(expectedResponse); + const [operation] = await client.disableService(request); + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.disableService = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.disableService( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.disableService = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.disableService(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes disableService with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DisableServiceRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DisableServiceRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.disableService = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.disableService(request); + await assert.rejects(operation.promise(), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.disableService as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDisableServiceProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + 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.checkDisableServiceProgress( + expectedResponse.name + ); + assert(stub.calledOnce); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDisableServiceProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkDisableServiceProgress(''), + expectedError + ); + assert(stub.calledOnce); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('batchEnableServices', () => { + it('invokes batchEnableServices without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.batchEnableServices = + stubLongRunningCall(expectedResponse); + const [operation] = await client.batchEnableServices(request); + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.batchEnableServices = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.batchEnableServices( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.batchEnableServices = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.batchEnableServices(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes batchEnableServices with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.BatchEnableServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.BatchEnableServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.batchEnableServices = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.batchEnableServices(request); + await assert.rejects(operation.promise(), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.batchEnableServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkBatchEnableServicesProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + 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.checkBatchEnableServicesProgress( + expectedResponse.name + ); + assert(stub.calledOnce); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkBatchEnableServicesProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkBatchEnableServicesProgress(''), + expectedError + ); + assert(stub.calledOnce); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('createAdminOverride', () => { + it('invokes createAdminOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createAdminOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createAdminOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAdminOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createAdminOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createAdminOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAdminOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createAdminOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.createAdminOverride(request), expectedError); + const actualRequest = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createAdminOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateAdminOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createAdminOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.createAdminOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkCreateAdminOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkCreateAdminOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateAdminOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkCreateAdminOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateAdminOverride', () => { + it('invokes updateAdminOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateAdminOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateAdminOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAdminOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateAdminOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateAdminOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAdminOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateAdminOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.updateAdminOverride(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateAdminOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateAdminOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateAdminOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateAdminOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkUpdateAdminOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateAdminOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkUpdateAdminOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteAdminOverride', () => { + it('invokes deleteAdminOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteAdminOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteAdminOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAdminOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteAdminOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteAdminOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAdminOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteAdminOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteAdminOverride(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteAdminOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteAdminOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteAdminOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteAdminOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteAdminOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteAdminOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkDeleteAdminOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteAdminOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkDeleteAdminOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('importAdminOverrides', () => { + it('invokes importAdminOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importAdminOverrides = + stubLongRunningCall(expectedResponse); + const [operation] = await client.importAdminOverrides(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importAdminOverrides without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importAdminOverrides = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.importAdminOverrides( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportAdminOverridesMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importAdminOverrides with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.importAdminOverrides = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.importAdminOverrides(request), expectedError); + const actualRequest = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importAdminOverrides with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.importAdminOverrides = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.importAdminOverrides(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkImportAdminOverridesProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkImportAdminOverridesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkImportAdminOverridesProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkImportAdminOverridesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('createConsumerOverride', () => { + it('invokes createConsumerOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createConsumerOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.createConsumerOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createConsumerOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.createConsumerOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.createConsumerOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createConsumerOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createConsumerOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.createConsumerOverride(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes createConsumerOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.CreateConsumerOverrideRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.createConsumerOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.createConsumerOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.createConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkCreateConsumerOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkCreateConsumerOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkCreateConsumerOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkCreateConsumerOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateConsumerOverride', () => { + it('invokes updateConsumerOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateConsumerOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateConsumerOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateConsumerOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateConsumerOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateConsumerOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IQuotaOverride, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateConsumerOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateConsumerOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.updateConsumerOverride(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateConsumerOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.UpdateConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateConsumerOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateConsumerOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateConsumerOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkUpdateConsumerOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateConsumerOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkUpdateConsumerOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteConsumerOverride', () => { + it('invokes deleteConsumerOverride without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteConsumerOverride = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteConsumerOverride(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteConsumerOverride without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteConsumerOverride = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteConsumerOverride( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.api.serviceusage.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteConsumerOverride with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteConsumerOverride = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.deleteConsumerOverride(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteConsumerOverride with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.DeleteConsumerOverrideRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteConsumerOverride = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteConsumerOverride(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteConsumerOverride as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteConsumerOverrideProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = await client.checkDeleteConsumerOverrideProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteConsumerOverrideProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkDeleteConsumerOverrideProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('importConsumerOverrides', () => { + it('invokes importConsumerOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importConsumerOverrides = + stubLongRunningCall(expectedResponse); + const [operation] = await client.importConsumerOverrides(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importConsumerOverrides without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.importConsumerOverrides = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.importConsumerOverrides( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesResponse, + protos.google.api.serviceusage.v1beta1.IImportConsumerOverridesMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importConsumerOverrides with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.importConsumerOverrides = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.importConsumerOverrides(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes importConsumerOverrides with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ImportConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.importConsumerOverrides = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.importConsumerOverrides(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.importConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkImportConsumerOverridesProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = + await client.checkImportConsumerOverridesProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkImportConsumerOverridesProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkImportConsumerOverridesProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('generateServiceIdentity', () => { + it('invokes generateServiceIdentity without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.generateServiceIdentity = + stubLongRunningCall(expectedResponse); + const [operation] = await client.generateServiceIdentity(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes generateServiceIdentity without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.generateServiceIdentity = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.generateServiceIdentity( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.api.serviceusage.v1beta1.IServiceIdentity, + protos.google.protobuf.IEmpty + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes generateServiceIdentity with call error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.generateServiceIdentity = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.generateServiceIdentity(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes generateServiceIdentity with LRO error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.GenerateServiceIdentityRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.generateServiceIdentity = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.generateServiceIdentity(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.generateServiceIdentity as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkGenerateServiceIdentityProgress without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedResponse = generateSampleMessage( + new operationsProtos.google.longrunning.Operation() + ); + expectedResponse.name = 'test'; + expectedResponse.response = {type_url: 'url', value: Buffer.from('')}; + expectedResponse.metadata = {type_url: 'url', value: Buffer.from('')}; + + client.operationsClient.getOperation = stubSimpleCall(expectedResponse); + const decodedOperation = + await client.checkGenerateServiceIdentityProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkGenerateServiceIdentityProgress with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const expectedError = new Error('expected'); + + client.operationsClient.getOperation = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.checkGenerateServiceIdentityProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listServices', () => { + it('invokes listServices without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + ]; + client.innerApiCalls.listServices = stubSimpleCall(expectedResponse); + const [response] = await client.listServices(request); + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + ]; + client.innerApiCalls.listServices = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listServices( + request, + ( + err?: Error | null, + result?: protos.google.api.serviceusage.v1beta1.IService[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert(stub.calledOnce); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServices with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listServices = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listServices(request), expectedError); + assert(stub.calledOnce); + const actualRequest = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listServices as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listServicesStream without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + ]; + client.descriptors.page.listServices.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.Service[] = []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.Service) => { + 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.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request) + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listServicesStream with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.createStream = stubPageStreamingCall( + undefined, + expectedError + ); + const stream = client.listServicesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.Service[] = []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.Service) => { + 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.listServices.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listServices, request) + ); + assert( + (client.descriptors.page.listServices.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listServices without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.Service() + ), + ]; + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.api.serviceusage.v1beta1.IService[] = []; + const iterable = client.listServicesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert(stub.calledOnce); + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listServices with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + const stub = sinon.stub(client, 'warn'); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListServicesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListServicesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listServices.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listServicesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.api.serviceusage.v1beta1.IService[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert(stub.calledOnce); + assert.deepStrictEqual( + ( + client.descriptors.page.listServices.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listServices.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('listConsumerQuotaMetrics', () => { + it('invokes listConsumerQuotaMetrics without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + ]; + client.innerApiCalls.listConsumerQuotaMetrics = + stubSimpleCall(expectedResponse); + const [response] = await client.listConsumerQuotaMetrics(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerQuotaMetrics without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + ]; + client.innerApiCalls.listConsumerQuotaMetrics = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listConsumerQuotaMetrics( + request, + ( + err?: Error | null, + result?: + | protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerQuotaMetrics with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listConsumerQuotaMetrics = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.listConsumerQuotaMetrics(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerQuotaMetrics as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerQuotaMetricsStream without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + ]; + client.descriptors.page.listConsumerQuotaMetrics.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listConsumerQuotaMetricsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric[] = + []; + stream.on( + 'data', + ( + response: protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric + ) => { + 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.listConsumerQuotaMetrics + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listConsumerQuotaMetrics, request) + ); + assert( + ( + client.descriptors.page.listConsumerQuotaMetrics + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listConsumerQuotaMetricsStream with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listConsumerQuotaMetrics.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listConsumerQuotaMetricsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric[] = + []; + stream.on( + 'data', + ( + response: protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric + ) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listConsumerQuotaMetrics + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listConsumerQuotaMetrics, request) + ); + assert( + ( + client.descriptors.page.listConsumerQuotaMetrics + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listConsumerQuotaMetrics without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ConsumerQuotaMetric() + ), + ]; + client.descriptors.page.listConsumerQuotaMetrics.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric[] = + []; + const iterable = client.listConsumerQuotaMetricsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listConsumerQuotaMetrics + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + ( + client.descriptors.page.listConsumerQuotaMetrics + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listConsumerQuotaMetrics with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerQuotaMetricsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listConsumerQuotaMetrics.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listConsumerQuotaMetricsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.api.serviceusage.v1beta1.IConsumerQuotaMetric[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listConsumerQuotaMetrics + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + ( + client.descriptors.page.listConsumerQuotaMetrics + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('listAdminOverrides', () => { + it('invokes listAdminOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.innerApiCalls.listAdminOverrides = + stubSimpleCall(expectedResponse); + const [response] = await client.listAdminOverrides(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAdminOverrides without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.innerApiCalls.listAdminOverrides = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listAdminOverrides( + request, + ( + err?: Error | null, + result?: + | protos.google.api.serviceusage.v1beta1.IQuotaOverride[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAdminOverrides with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listAdminOverrides = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listAdminOverrides(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listAdminOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listAdminOverridesStream without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.descriptors.page.listAdminOverrides.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listAdminOverridesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.QuotaOverride[] = + []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.QuotaOverride) => { + 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.listAdminOverrides.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAdminOverrides, request) + ); + assert( + (client.descriptors.page.listAdminOverrides.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listAdminOverridesStream with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listAdminOverrides.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listAdminOverridesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.QuotaOverride[] = + []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.QuotaOverride) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listAdminOverrides.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listAdminOverrides, request) + ); + assert( + (client.descriptors.page.listAdminOverrides.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listAdminOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.descriptors.page.listAdminOverrides.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.api.serviceusage.v1beta1.IQuotaOverride[] = + []; + const iterable = client.listAdminOverridesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listAdminOverrides.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listAdminOverrides.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listAdminOverrides with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListAdminOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListAdminOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listAdminOverrides.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listAdminOverridesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.api.serviceusage.v1beta1.IQuotaOverride[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listAdminOverrides.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listAdminOverrides.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('listConsumerOverrides', () => { + it('invokes listConsumerOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.innerApiCalls.listConsumerOverrides = + stubSimpleCall(expectedResponse); + const [response] = await client.listConsumerOverrides(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerOverrides without error using callback', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.innerApiCalls.listConsumerOverrides = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listConsumerOverrides( + request, + ( + err?: Error | null, + result?: + | protos.google.api.serviceusage.v1beta1.IQuotaOverride[] + | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerOverrides with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listConsumerOverrides = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.listConsumerOverrides(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listConsumerOverrides as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listConsumerOverridesStream without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.descriptors.page.listConsumerOverrides.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listConsumerOverridesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.QuotaOverride[] = + []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.QuotaOverride) => { + 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.listConsumerOverrides + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listConsumerOverrides, request) + ); + assert( + ( + client.descriptors.page.listConsumerOverrides + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listConsumerOverridesStream with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listConsumerOverrides.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listConsumerOverridesStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.api.serviceusage.v1beta1.QuotaOverride[] = + []; + stream.on( + 'data', + (response: protos.google.api.serviceusage.v1beta1.QuotaOverride) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + ( + client.descriptors.page.listConsumerOverrides + .createStream as SinonStub + ) + .getCall(0) + .calledWith(client.innerApiCalls.listConsumerOverrides, request) + ); + assert( + ( + client.descriptors.page.listConsumerOverrides + .createStream as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listConsumerOverrides without error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.QuotaOverride() + ), + ]; + client.descriptors.page.listConsumerOverrides.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.api.serviceusage.v1beta1.IQuotaOverride[] = + []; + const iterable = client.listConsumerOverridesAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listConsumerOverrides + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + ( + client.descriptors.page.listConsumerOverrides + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listConsumerOverrides with error', async () => { + const client = new serviceusageModule.v1beta1.ServiceUsageClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.api.serviceusage.v1beta1.ListConsumerOverridesRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listConsumerOverrides.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listConsumerOverridesAsync(request); + await assert.rejects(async () => { + const responses: protos.google.api.serviceusage.v1beta1.IQuotaOverride[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listConsumerOverrides + .asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + ( + client.descriptors.page.listConsumerOverrides + .asyncIterate as SinonStub + ) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); +}); diff --git a/packages/google-api-serviceusage/tsconfig.json b/packages/google-api-serviceusage/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/packages/google-api-serviceusage/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/packages/google-api-serviceusage/webpack.config.js b/packages/google-api-serviceusage/webpack.config.js new file mode 100644 index 00000000000..8aac6597e89 --- /dev/null +++ b/packages/google-api-serviceusage/webpack.config.js @@ -0,0 +1,64 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +const path = require('path'); + +module.exports = { + entry: './src/index.ts', + output: { + library: 'ServiceUsage', + filename: './service-usage.js', + }, + node: { + child_process: 'empty', + fs: 'empty', + crypto: 'empty', + }, + resolve: { + alias: { + '../../../package.json': path.resolve(__dirname, 'package.json'), + }, + extensions: ['.js', '.json', '.ts'], + }, + module: { + rules: [ + { + test: /\.tsx?$/, + use: 'ts-loader', + exclude: /node_modules/, + }, + { + test: /node_modules[\\/]@grpc[\\/]grpc-js/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]grpc/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]retry-request/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]https?-proxy-agent/, + use: 'null-loader', + }, + { + test: /node_modules[\\/]gtoken/, + use: 'null-loader', + }, + ], + }, + mode: 'production', +};