diff --git a/packages/google-cloud-domains/.eslintignore b/packages/google-cloud-domains/.eslintignore new file mode 100644 index 00000000000..ea5b04aebe6 --- /dev/null +++ b/packages/google-cloud-domains/.eslintignore @@ -0,0 +1,7 @@ +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ +samples/generated/ diff --git a/packages/google-cloud-domains/.eslintrc.json b/packages/google-cloud-domains/.eslintrc.json new file mode 100644 index 00000000000..78215349546 --- /dev/null +++ b/packages/google-cloud-domains/.eslintrc.json @@ -0,0 +1,3 @@ +{ + "extends": "./node_modules/gts" +} diff --git a/packages/google-cloud-domains/.gitattributes b/packages/google-cloud-domains/.gitattributes new file mode 100644 index 00000000000..33739cb74e4 --- /dev/null +++ b/packages/google-cloud-domains/.gitattributes @@ -0,0 +1,4 @@ +*.ts text eol=lf +*.js text eol=lf +protos/* linguist-generated +**/api-extractor.json linguist-language=JSON-with-Comments diff --git a/packages/google-cloud-domains/.github/.OwlBot.yaml b/packages/google-cloud-domains/.github/.OwlBot.yaml new file mode 100644 index 00000000000..e86b33945aa --- /dev/null +++ b/packages/google-cloud-domains/.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/cloud/domains/(.*)/.*-nodejs/(.*) + dest: /owl-bot-staging/$1/$2 + diff --git a/packages/google-cloud-domains/.gitignore b/packages/google-cloud-domains/.gitignore new file mode 100644 index 00000000000..5d32b23782f --- /dev/null +++ b/packages/google-cloud-domains/.gitignore @@ -0,0 +1,14 @@ +**/*.log +**/node_modules +.coverage +coverage +.nyc_output +docs/ +out/ +build/ +system-test/secrets.js +system-test/*key.json +*.lock +.DS_Store +package-lock.json +__pycache__ diff --git a/packages/google-cloud-domains/.jsdoc.js b/packages/google-cloud-domains/.jsdoc.js new file mode 100644 index 00000000000..6e2cfaf424c --- /dev/null +++ b/packages/google-cloud-domains/.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/domains', + theme: 'lumen', + default: { + outputSourceFiles: false + } + }, + markdown: { + idInHeadings: true + } +}; diff --git a/packages/google-cloud-domains/.mocharc.js b/packages/google-cloud-domains/.mocharc.js new file mode 100644 index 00000000000..0b600509bed --- /dev/null +++ b/packages/google-cloud-domains/.mocharc.js @@ -0,0 +1,29 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. +const config = { + "enable-source-maps": true, + "throw-deprecation": true, + "timeout": 10000, + "recursive": true +} +if (process.env.MOCHA_THROW_DEPRECATION === 'false') { + delete config['throw-deprecation']; +} +if (process.env.MOCHA_REPORTER) { + config.reporter = process.env.MOCHA_REPORTER; +} +if (process.env.MOCHA_REPORTER_OUTPUT) { + config['reporter-option'] = `output=${process.env.MOCHA_REPORTER_OUTPUT}`; +} +module.exports = config diff --git a/packages/google-cloud-domains/.nycrc b/packages/google-cloud-domains/.nycrc new file mode 100644 index 00000000000..b18d5472b62 --- /dev/null +++ b/packages/google-cloud-domains/.nycrc @@ -0,0 +1,24 @@ +{ + "report-dir": "./.coverage", + "reporter": ["text", "lcov"], + "exclude": [ + "**/*-test", + "**/.coverage", + "**/apis", + "**/benchmark", + "**/conformance", + "**/docs", + "**/samples", + "**/scripts", + "**/protos", + "**/test", + "**/*.d.ts", + ".jsdoc.js", + "**/.jsdoc.js", + "karma.conf.js", + "webpack-tests.config.js", + "webpack.config.js" + ], + "exclude-after-remap": false, + "all": true +} diff --git a/packages/google-cloud-domains/.prettierignore b/packages/google-cloud-domains/.prettierignore new file mode 100644 index 00000000000..9340ad9b86d --- /dev/null +++ b/packages/google-cloud-domains/.prettierignore @@ -0,0 +1,6 @@ +**/node_modules +**/coverage +test/fixtures +build/ +docs/ +protos/ diff --git a/packages/google-cloud-domains/.prettierrc.js b/packages/google-cloud-domains/.prettierrc.js new file mode 100644 index 00000000000..d1b95106f4c --- /dev/null +++ b/packages/google-cloud-domains/.prettierrc.js @@ -0,0 +1,17 @@ +// Copyright 2020 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// https://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +module.exports = { + ...require('gts/.prettierrc.json') +} diff --git a/packages/google-cloud-domains/.repo-metadata.json b/packages/google-cloud-domains/.repo-metadata.json new file mode 100644 index 00000000000..08d48188ecc --- /dev/null +++ b/packages/google-cloud-domains/.repo-metadata.json @@ -0,0 +1,16 @@ +{ + "client_documentation": "https://cloud.google.com/nodejs/docs/reference/domains/latest", + "api_id": "domains.googleapis.com", + "distribution_name": "@google-cloud/domains", + "release_level": "stable", + "default_version": "v1", + "language": "nodejs", + "name_pretty": "Cloud Domains", + "repo": "googleapis/nodejs-domains", + "product_documentation": "https://cloud.google.com/domains/", + "requires_billing": true, + "name": "domains", + "issue_tracker": "https://github.com/googleapis/nodejs-domains/issues", + "api_shortname": "domains", + "library_type": "GAPIC_AUTO" +} diff --git a/packages/google-cloud-domains/CHANGELOG.md b/packages/google-cloud-domains/CHANGELOG.md new file mode 100644 index 00000000000..e8dfeae1ef8 --- /dev/null +++ b/packages/google-cloud-domains/CHANGELOG.md @@ -0,0 +1,127 @@ +# Changelog + +## [2.1.2](https://github.com/googleapis/nodejs-domains/compare/v2.1.1...v2.1.2) (2022-11-10) + + +### Bug Fixes + +* **deps:** Use google-gax v3.5.2 ([#152](https://github.com/googleapis/nodejs-domains/issues/152)) ([f02b8a1](https://github.com/googleapis/nodejs-domains/commit/f02b8a167db37ef21410d0bdd3c656b9a7d471f9)) +* Preserve default values in x-goog-request-params header ([#145](https://github.com/googleapis/nodejs-domains/issues/145)) ([c4aa0aa](https://github.com/googleapis/nodejs-domains/commit/c4aa0aa2324f365e4c700da916f399174b016ade)) +* Regenerated protos JS and TS definitions ([#155](https://github.com/googleapis/nodejs-domains/issues/155)) ([b22ed55](https://github.com/googleapis/nodejs-domains/commit/b22ed5506ac16662b555793d41844619ed7b9889)) + +## [2.1.1](https://github.com/googleapis/nodejs-domains/compare/v2.1.0...v2.1.1) (2022-09-01) + + +### Bug Fixes + +* Allow passing gax instance to client constructor ([#144](https://github.com/googleapis/nodejs-domains/issues/144)) ([8bf7f53](https://github.com/googleapis/nodejs-domains/commit/8bf7f53f0011f89c87ee182ddf75dcc3c5cef188)) +* Better support for fallback mode ([#139](https://github.com/googleapis/nodejs-domains/issues/139)) ([6d83b72](https://github.com/googleapis/nodejs-domains/commit/6d83b72d9ad9998d5ded5a1ad8aed4f464917b6f)) +* Change import long to require ([#140](https://github.com/googleapis/nodejs-domains/issues/140)) ([f0155a2](https://github.com/googleapis/nodejs-domains/commit/f0155a211d70255155664a9776857cd37e9d46bf)) +* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-domains/issues/1553)) ([#143](https://github.com/googleapis/nodejs-domains/issues/143)) ([c7cce8d](https://github.com/googleapis/nodejs-domains/commit/c7cce8db16bd58052bc6ac5226638ac07bc398c4)) +* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-domains/issues/1546)) ([#142](https://github.com/googleapis/nodejs-domains/issues/142)) ([ac57104](https://github.com/googleapis/nodejs-domains/commit/ac571044a6299ee5b427b4d8adc84c358cee2cdd)) + +## [2.1.0](https://github.com/googleapis/nodejs-domains/compare/v2.0.0...v2.1.0) (2022-06-30) + + +### Features + +* support regapic LRO ([#135](https://github.com/googleapis/nodejs-domains/issues/135)) ([b1694a2](https://github.com/googleapis/nodejs-domains/commit/b1694a2669359b73efb7860fb30bafa60af77ca2)) + +## [2.0.0](https://github.com/googleapis/nodejs-domains/compare/v1.2.0...v2.0.0) (2022-05-20) + + +### ⚠ BREAKING CHANGES + +* update library to use Node 12 (#129) +* make v1 default service version (#110) + +### Features + +* make v1 default service version ([#110](https://github.com/googleapis/nodejs-domains/issues/110)) ([7fd70b8](https://github.com/googleapis/nodejs-domains/commit/7fd70b868314778e49c9d21eff398e0aae7a41c4)) + + +### Build System + +* update library to use Node 12 ([#129](https://github.com/googleapis/nodejs-domains/issues/129)) ([816aeb9](https://github.com/googleapis/nodejs-domains/commit/816aeb9a7137e0a3956005d8ffbcd2a2e6b3e6bb)) + +## [1.2.0](https://www.github.com/googleapis/nodejs-domains/compare/v1.1.0...v1.2.0) (2021-10-19) + + +### Features + +* added library for Cloud Domains v1 API. Also added methods for the transfer-in flow ([ce97a96](https://www.github.com/googleapis/nodejs-domains/commit/ce97a96ef13e9a73a69b05b59729d2d4172adafc)) + +## [1.1.0](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.8...v1.1.0) (2021-08-23) + + +### Features + +* turns on self-signed JWT feature flag ([#70](https://www.github.com/googleapis/nodejs-domains/issues/70)) ([ee9565a](https://www.github.com/googleapis/nodejs-domains/commit/ee9565a2a5f0971ea530ccd478cfe55467bfc4d9)) + +### [1.0.8](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.7...v1.0.8) (2021-08-17) + + +### Bug Fixes + +* **deps:** google-gax v2.24.1 ([#68](https://www.github.com/googleapis/nodejs-domains/issues/68)) ([a332f0b](https://www.github.com/googleapis/nodejs-domains/commit/a332f0b54c14da104bca7c1ba691a57797ec64a5)) + +### [1.0.7](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.6...v1.0.7) (2021-08-13) + + +### Bug Fixes + +* **build:** migrate to using main branch ([#66](https://www.github.com/googleapis/nodejs-domains/issues/66)) ([ec3edb2](https://www.github.com/googleapis/nodejs-domains/commit/ec3edb2750b7e393d8452c42f36a20a1c4fc8778)) + +### [1.0.6](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.5...v1.0.6) (2021-07-16) + + +### Bug Fixes + +* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#58](https://www.github.com/googleapis/nodejs-domains/issues/58)) ([5c35455](https://www.github.com/googleapis/nodejs-domains/commit/5c35455f992ecdfb0fb71d74265dede9151bbd2b)) + +### [1.0.5](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.4...v1.0.5) (2021-07-12) + + +### Bug Fixes + +* **deps:** google-gax v2.17.1 ([#56](https://www.github.com/googleapis/nodejs-domains/issues/56)) ([4a09020](https://www.github.com/googleapis/nodejs-domains/commit/4a090203e334403c7f4ef520834de61d53d400f6)) + +### [1.0.4](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.3...v1.0.4) (2021-06-29) + + +### Bug Fixes + +* **deps:** google-gax v2.17.0 with mTLS ([#53](https://www.github.com/googleapis/nodejs-domains/issues/53)) ([0522960](https://www.github.com/googleapis/nodejs-domains/commit/0522960d9504498991a05a2a5ffe3a2095c12ca4)) + +### [1.0.3](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.2...v1.0.3) (2021-06-25) + + +### Bug Fixes + +* make request optional in all cases ([#49](https://www.github.com/googleapis/nodejs-domains/issues/49)) ([cb5fb16](https://www.github.com/googleapis/nodejs-domains/commit/cb5fb16ac3de2c444537ac8b6bdd8a166f544ed6)) + +### [1.0.2](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.1...v1.0.2) (2021-05-25) + + +### Bug Fixes + +* GoogleAdsError missing using generator version after 1.3.0 ([#42](https://www.github.com/googleapis/nodejs-domains/issues/42)) ([3830c18](https://www.github.com/googleapis/nodejs-domains/commit/3830c1832e65c5ecbfd821931582fd87cada793b)) + +### [1.0.1](https://www.github.com/googleapis/nodejs-domains/compare/v1.0.0...v1.0.1) (2021-05-12) + + +### Bug Fixes + +* **deps:** require google-gax v2.12.0 ([#34](https://www.github.com/googleapis/nodejs-domains/issues/34)) ([87a316a](https://www.github.com/googleapis/nodejs-domains/commit/87a316a5a1e3baeea370035676c514dde1268ca3)) +* use require() to load JSON protos ([#37](https://www.github.com/googleapis/nodejs-domains/issues/37)) ([f526c4b](https://www.github.com/googleapis/nodejs-domains/commit/f526c4bae5388bc94e0bb28bea908b06e9f8c17a)) + +## 1.0.0 (2021-02-03) + + +### ⚠ BREAKING CHANGES + +* initial stub of library + +### Features + +* initial stub of library ([6d3c6a2](https://www.github.com/googleapis/nodejs-domains/commit/6d3c6a246543457ce0edc7a471bafed6e61700f4)) diff --git a/packages/google-cloud-domains/CODE_OF_CONDUCT.md b/packages/google-cloud-domains/CODE_OF_CONDUCT.md new file mode 100644 index 00000000000..2add2547a81 --- /dev/null +++ b/packages/google-cloud-domains/CODE_OF_CONDUCT.md @@ -0,0 +1,94 @@ + +# Code of Conduct + +## Our Pledge + +In the interest of fostering an open and welcoming environment, we as +contributors and maintainers pledge to making participation in our project and +our community a harassment-free experience for everyone, regardless of age, body +size, disability, ethnicity, gender identity and expression, level of +experience, education, socio-economic status, nationality, personal appearance, +race, religion, or sexual identity and orientation. + +## Our Standards + +Examples of behavior that contributes to creating a positive environment +include: + +* Using welcoming and inclusive language +* Being respectful of differing viewpoints and experiences +* Gracefully accepting constructive criticism +* Focusing on what is best for the community +* Showing empathy towards other community members + +Examples of unacceptable behavior by participants include: + +* The use of sexualized language or imagery and unwelcome sexual attention or + advances +* Trolling, insulting/derogatory comments, and personal or political attacks +* Public or private harassment +* Publishing others' private information, such as a physical or electronic + address, without explicit permission +* Other conduct which could reasonably be considered inappropriate in a + professional setting + +## Our Responsibilities + +Project maintainers are responsible for clarifying the standards of acceptable +behavior and are expected to take appropriate and fair corrective action in +response to any instances of unacceptable behavior. + +Project maintainers have the right and responsibility to remove, edit, or reject +comments, commits, code, wiki edits, issues, and other contributions that are +not aligned to this Code of Conduct, or to ban temporarily or permanently any +contributor for other behaviors that they deem inappropriate, threatening, +offensive, or harmful. + +## Scope + +This Code of Conduct applies both within project spaces and in public spaces +when an individual is representing the project or its community. Examples of +representing a project or community include using an official project e-mail +address, posting via an official social media account, or acting as an appointed +representative at an online or offline event. Representation of a project may be +further defined and clarified by project maintainers. + +This Code of Conduct also applies outside the project spaces when the Project +Steward has a reasonable belief that an individual's behavior may have a +negative impact on the project or its community. + +## Conflict Resolution + +We do not believe that all conflict is bad; healthy debate and disagreement +often yield positive results. However, it is never okay to be disrespectful or +to engage in behavior that violates the project’s code of conduct. + +If you see someone violating the code of conduct, you are encouraged to address +the behavior directly with those involved. Many issues can be resolved quickly +and easily, and this gives people more control over the outcome of their +dispute. If you are unable to resolve the matter for any reason, or if the +behavior is threatening or harassing, report it. We are dedicated to providing +an environment where participants feel welcome and safe. + +Reports should be directed to *googleapis-stewards@google.com*, the +Project Steward(s) for *Google Cloud Client Libraries*. It is the Project Steward’s duty to +receive and address reported violations of the code of conduct. They will then +work with a committee consisting of representatives from the Open Source +Programs Office and the Google Open Source Strategy team. If for any reason you +are uncomfortable reaching out to the Project Steward, please email +opensource@google.com. + +We will investigate every complaint, but you may not receive a direct response. +We will use our discretion in determining when and how to follow up on reported +incidents, which may range from not taking action to permanent expulsion from +the project and project-sponsored spaces. We will notify the accused of the +report and provide them an opportunity to discuss it before any action is taken. +The identity of the reporter will be omitted from the details of the report +supplied to the accused. In potentially harmful situations, such as ongoing +harassment or threats to anyone's safety, we may take action without notice. + +## Attribution + +This Code of Conduct is adapted from the Contributor Covenant, version 1.4, +available at +https://www.contributor-covenant.org/version/1/4/code-of-conduct.html \ No newline at end of file diff --git a/packages/google-cloud-domains/CONTRIBUTING.md b/packages/google-cloud-domains/CONTRIBUTING.md new file mode 100644 index 00000000000..8fb20cec287 --- /dev/null +++ b/packages/google-cloud-domains/CONTRIBUTING.md @@ -0,0 +1,76 @@ +# How to become a contributor and submit your own code + +**Table of contents** + +* [Contributor License Agreements](#contributor-license-agreements) +* [Contributing a patch](#contributing-a-patch) +* [Running the tests](#running-the-tests) +* [Releasing the library](#releasing-the-library) + +## Contributor License Agreements + +We'd love to accept your sample apps and patches! Before we can take them, we +have to jump a couple of legal hurdles. + +Please fill out either the individual or corporate Contributor License Agreement +(CLA). + + * If you are an individual writing original source code and you're sure you + own the intellectual property, then you'll need to sign an [individual CLA](https://developers.google.com/open-source/cla/individual). + * If you work for a company that wants to allow you to contribute your work, + then you'll need to sign a [corporate CLA](https://developers.google.com/open-source/cla/corporate). + +Follow either of the two links above to access the appropriate CLA and +instructions for how to sign and return it. Once we receive it, we'll be able to +accept your pull requests. + +## Contributing A Patch + +1. Submit an issue describing your proposed change to the repo in question. +1. The repo owner will respond to your issue promptly. +1. If your proposed change is accepted, and you haven't already done so, sign a + Contributor License Agreement (see details above). +1. Fork the desired repo, develop and test your code changes. +1. Ensure that your code adheres to the existing style in the code to which + you are contributing. +1. Ensure that your code has an appropriate set of tests which all pass. +1. Title your pull request following [Conventional Commits](https://www.conventionalcommits.org/) styling. +1. Submit a pull request. + +### Before you begin + +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Cloud Domains 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=domains.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started \ No newline at end of file diff --git a/packages/google-cloud-domains/LICENSE b/packages/google-cloud-domains/LICENSE new file mode 100644 index 00000000000..d6456956733 --- /dev/null +++ b/packages/google-cloud-domains/LICENSE @@ -0,0 +1,202 @@ + + Apache License + Version 2.0, January 2004 + http://www.apache.org/licenses/ + + TERMS AND CONDITIONS FOR USE, REPRODUCTION, AND DISTRIBUTION + + 1. Definitions. + + "License" shall mean the terms and conditions for use, reproduction, + and distribution as defined by Sections 1 through 9 of this document. + + "Licensor" shall mean the copyright owner or entity authorized by + the copyright owner that is granting the License. + + "Legal Entity" shall mean the union of the acting entity and all + other entities that control, are controlled by, or are under common + control with that entity. For the purposes of this definition, + "control" means (i) the power, direct or indirect, to cause the + direction or management of such entity, whether by contract or + otherwise, or (ii) ownership of fifty percent (50%) or more of the + outstanding shares, or (iii) beneficial ownership of such entity. + + "You" (or "Your") shall mean an individual or Legal Entity + exercising permissions granted by this License. + + "Source" form shall mean the preferred form for making modifications, + including but not limited to software source code, documentation + source, and configuration files. + + "Object" form shall mean any form resulting from mechanical + transformation or translation of a Source form, including but + not limited to compiled object code, generated documentation, + and conversions to other media types. + + "Work" shall mean the work of authorship, whether in Source or + Object form, made available under the License, as indicated by a + copyright notice that is included in or attached to the work + (an example is provided in the Appendix below). + + "Derivative Works" shall mean any work, whether in Source or Object + form, that is based on (or derived from) the Work and for which the + editorial revisions, annotations, elaborations, or other modifications + represent, as a whole, an original work of authorship. For the purposes + of this License, Derivative Works shall not include works that remain + separable from, or merely link (or bind by name) to the interfaces of, + the Work and Derivative Works thereof. + + "Contribution" shall mean any work of authorship, including + the original version of the Work and any modifications or additions + to that Work or Derivative Works thereof, that is intentionally + submitted to Licensor for inclusion in the Work by the copyright owner + or by an individual or Legal Entity authorized to submit on behalf of + the copyright owner. For the purposes of this definition, "submitted" + means any form of electronic, verbal, or written communication sent + to the Licensor or its representatives, including but not limited to + communication on electronic mailing lists, source code control systems, + and issue tracking systems that are managed by, or on behalf of, the + Licensor for the purpose of discussing and improving the Work, but + excluding communication that is conspicuously marked or otherwise + designated in writing by the copyright owner as "Not a Contribution." + + "Contributor" shall mean Licensor and any individual or Legal Entity + on behalf of whom a Contribution has been received by Licensor and + subsequently incorporated within the Work. + + 2. Grant of Copyright License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + copyright license to reproduce, prepare Derivative Works of, + publicly display, publicly perform, sublicense, and distribute the + Work and such Derivative Works in Source or Object form. + + 3. Grant of Patent License. Subject to the terms and conditions of + this License, each Contributor hereby grants to You a perpetual, + worldwide, non-exclusive, no-charge, royalty-free, irrevocable + (except as stated in this section) patent license to make, have made, + use, offer to sell, sell, import, and otherwise transfer the Work, + where such license applies only to those patent claims licensable + by such Contributor that are necessarily infringed by their + Contribution(s) alone or by combination of their Contribution(s) + with the Work to which such Contribution(s) was submitted. If You + institute patent litigation against any entity (including a + cross-claim or counterclaim in a lawsuit) alleging that the Work + or a Contribution incorporated within the Work constitutes direct + or contributory patent infringement, then any patent licenses + granted to You under this License for that Work shall terminate + as of the date such litigation is filed. + + 4. Redistribution. You may reproduce and distribute copies of the + Work or Derivative Works thereof in any medium, with or without + modifications, and in Source or Object form, provided that You + meet the following conditions: + + (a) You must give any other recipients of the Work or + Derivative Works a copy of this License; and + + (b) You must cause any modified files to carry prominent notices + stating that You changed the files; and + + (c) You must retain, in the Source form of any Derivative Works + that You distribute, all copyright, patent, trademark, and + attribution notices from the Source form of the Work, + excluding those notices that do not pertain to any part of + the Derivative Works; and + + (d) If the Work includes a "NOTICE" text file as part of its + distribution, then any Derivative Works that You distribute must + include a readable copy of the attribution notices contained + within such NOTICE file, excluding those notices that do not + pertain to any part of the Derivative Works, in at least one + of the following places: within a NOTICE text file distributed + as part of the Derivative Works; within the Source form or + documentation, if provided along with the Derivative Works; or, + within a display generated by the Derivative Works, if and + wherever such third-party notices normally appear. The contents + of the NOTICE file are for informational purposes only and + do not modify the License. You may add Your own attribution + notices within Derivative Works that You distribute, alongside + or as an addendum to the NOTICE text from the Work, provided + that such additional attribution notices cannot be construed + as modifying the License. + + You may add Your own copyright statement to Your modifications and + may provide additional or different license terms and conditions + for use, reproduction, or distribution of Your modifications, or + for any such Derivative Works as a whole, provided Your use, + reproduction, and distribution of the Work otherwise complies with + the conditions stated in this License. + + 5. Submission of Contributions. Unless You explicitly state otherwise, + any Contribution intentionally submitted for inclusion in the Work + by You to the Licensor shall be under the terms and conditions of + this License, without any additional terms or conditions. + Notwithstanding the above, nothing herein shall supersede or modify + the terms of any separate license agreement you may have executed + with Licensor regarding such Contributions. + + 6. Trademarks. This License does not grant permission to use the trade + names, trademarks, service marks, or product names of the Licensor, + except as required for reasonable and customary use in describing the + origin of the Work and reproducing the content of the NOTICE file. + + 7. Disclaimer of Warranty. Unless required by applicable law or + agreed to in writing, Licensor provides the Work (and each + Contributor provides its Contributions) on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or + implied, including, without limitation, any warranties or conditions + of TITLE, NON-INFRINGEMENT, MERCHANTABILITY, or FITNESS FOR A + PARTICULAR PURPOSE. You are solely responsible for determining the + appropriateness of using or redistributing the Work and assume any + risks associated with Your exercise of permissions under this License. + + 8. Limitation of Liability. In no event and under no legal theory, + whether in tort (including negligence), contract, or otherwise, + unless required by applicable law (such as deliberate and grossly + negligent acts) or agreed to in writing, shall any Contributor be + liable to You for damages, including any direct, indirect, special, + incidental, or consequential damages of any character arising as a + result of this License or out of the use or inability to use the + Work (including but not limited to damages for loss of goodwill, + work stoppage, computer failure or malfunction, or any and all + other commercial damages or losses), even if such Contributor + has been advised of the possibility of such damages. + + 9. Accepting Warranty or Additional Liability. While redistributing + the Work or Derivative Works thereof, You may choose to offer, + and charge a fee for, acceptance of support, warranty, indemnity, + or other liability obligations and/or rights consistent with this + License. However, in accepting such obligations, You may act only + on Your own behalf and on Your sole responsibility, not on behalf + of any other Contributor, and only if You agree to indemnify, + defend, and hold each Contributor harmless for any liability + incurred by, or claims asserted against, such Contributor by reason + of your accepting any such warranty or additional liability. + + END OF TERMS AND CONDITIONS + + APPENDIX: How to apply the Apache License to your work. + + To apply the Apache License to your work, attach the following + boilerplate notice, with the fields enclosed by brackets "[]" + replaced with your own identifying information. (Don't include + the brackets!) The text should be enclosed in the appropriate + comment syntax for the file format. We also recommend that a + file or class name and description of purpose be included on the + same "printed page" as the copyright notice for easier + identification within third-party archives. + + Copyright [yyyy] [name of copyright owner] + + Licensed under the Apache License, Version 2.0 (the "License"); + you may not use this file except in compliance with the License. + You may obtain a copy of the License at + + http://www.apache.org/licenses/LICENSE-2.0 + + Unless required by applicable law or agreed to in writing, software + distributed under the License is distributed on an "AS IS" BASIS, + WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. + See the License for the specific language governing permissions and + limitations under the License. diff --git a/packages/google-cloud-domains/README.md b/packages/google-cloud-domains/README.md new file mode 100644 index 00000000000..60a8a6efedc --- /dev/null +++ b/packages/google-cloud-domains/README.md @@ -0,0 +1,160 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Cloud Domains: Node.js Client](https://github.com/googleapis/nodejs-domains) + +[![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/domains.svg)](https://www.npmjs.org/package/@google-cloud/domains) + + + + +Domains client for Node.js + + +A comprehensive list of changes in each version may be found in +[the CHANGELOG](https://github.com/googleapis/nodejs-domains/blob/main/CHANGELOG.md). + +* [Cloud Domains Node.js Client API Reference][client-docs] +* [Cloud Domains Documentation][product-docs] +* [github.com/googleapis/nodejs-domains](https://github.com/googleapis/nodejs-domains) + +Read more about the client libraries for Cloud APIs, including the older +Google APIs Client Libraries, in [Client Libraries Explained][explained]. + +[explained]: https://cloud.google.com/apis/docs/client-libraries-explained + +**Table of contents:** + + +* [Quickstart](#quickstart) + * [Before you begin](#before-you-begin) + * [Installing the client library](#installing-the-client-library) + * [Using the client library](#using-the-client-library) +* [Samples](#samples) +* [Versioning](#versioning) +* [Contributing](#contributing) +* [License](#license) + +## Quickstart + +### Before you begin + +1. [Select or create a Cloud Platform project][projects]. +1. [Enable billing for your project][billing]. +1. [Enable the Cloud Domains 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/domains +``` + + +### Using the client library + +```javascript +// Imports the Google Cloud client library + +const {DomainsClient} = require('@google-cloud/domains'); + +// TODO(developer): replace with your preferred values. +// const projectId = 'my-project' +// const location = 'my-location' + +// Creates a client +const client = new DomainsClient(); + +//TODO(library generator): write the actual function you will be testing +async function listRegistrations() { + const [registrations] = await client.listRegistrations({ + parent: `projects/${projectId}/locations/${location}`, + }); + console.info(registrations); +} +listRegistrations(); + +``` + + + +## Samples + +Samples are in the [`samples/`](https://github.com/googleapis/nodejs-domains/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-domains/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-domains&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) | + + + +The [Cloud Domains 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/domains@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-domains/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-domains/blob/main/LICENSE) + +[client-docs]: https://cloud.google.com/nodejs/docs/reference/domains/latest +[product-docs]: https://cloud.google.com/domains/ +[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=domains.googleapis.com +[auth]: https://cloud.google.com/docs/authentication/getting-started diff --git a/packages/google-cloud-domains/linkinator.config.json b/packages/google-cloud-domains/linkinator.config.json new file mode 100644 index 00000000000..befd23c8633 --- /dev/null +++ b/packages/google-cloud-domains/linkinator.config.json @@ -0,0 +1,16 @@ +{ + "recurse": true, + "skip": [ + "https://codecov.io/gh/googleapis/", + "www.googleapis.com", + "img.shields.io", + "https://console.cloud.google.com/cloudshell", + "https://support.google.com" + ], + "silent": true, + "concurrency": 5, + "retry": true, + "retryErrors": true, + "retryErrorsCount": 5, + "retryErrorsJitter": 3000 +} diff --git a/packages/google-cloud-domains/package.json b/packages/google-cloud-domains/package.json new file mode 100644 index 00000000000..3925bd40091 --- /dev/null +++ b/packages/google-cloud-domains/package.json @@ -0,0 +1,66 @@ +{ + "name": "@google-cloud/domains", + "version": "2.1.2", + "description": "Domains client for Node.js", + "repository": "googleapis/nodejs-domains", + "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 domains", + "domains", + "domains" + ], + "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.3.5", + "gts": "^3.1.0", + "jsdoc": "^4.0.0", + "jsdoc-fresh": "^2.0.0", + "jsdoc-region-tag": "^2.0.0", + "linkinator": "^4.0.0", + "mocha": "^9.2.2", + "null-loader": "^4.0.1", + "pack-n-play": "^1.0.0-2", + "sinon": "^14.0.0", + "ts-loader": "^9.0.0", + "typescript": "^4.6.4", + "webpack": "^5.9.0", + "webpack-cli": "^4.2.0" + }, + "engines": { + "node": ">=12.0.0" + } +} diff --git a/packages/google-cloud-domains/protos/google/cloud/domains/v1/domains.proto b/packages/google-cloud-domains/protos/google/cloud/domains/v1/domains.proto new file mode 100644 index 00000000000..a9123616395 --- /dev/null +++ b/packages/google-cloud-domains/protos/google/cloud/domains/v1/domains.proto @@ -0,0 +1,1147 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.domains.v1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; +import "google/type/postal_address.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/domains/v1;domains"; +option java_multiple_files = true; +option java_outer_classname = "DomainsProto"; +option java_package = "com.google.cloud.domains.v1"; + +// The Cloud Domains API enables management and configuration of domain names. +service Domains { + option (google.api.default_host) = "domains.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Searches for available domain names similar to the provided query. + // + // Availability results from this method are approximate; call + // `RetrieveRegisterParameters` on a domain before registering to confirm + // availability. + rpc SearchDomains(SearchDomainsRequest) returns (SearchDomainsResponse) { + option (google.api.http) = { + get: "/v1/{location=projects/*/locations/*}/registrations:searchDomains" + }; + option (google.api.method_signature) = "location,query"; + } + + // Gets parameters needed to register a new domain name, including price and + // up-to-date availability. Use the returned values to call `RegisterDomain`. + rpc RetrieveRegisterParameters(RetrieveRegisterParametersRequest) returns (RetrieveRegisterParametersResponse) { + option (google.api.http) = { + get: "/v1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Registers a new domain name and creates a corresponding `Registration` + // resource. + // + // Call `RetrieveRegisterParameters` first to check availability of the domain + // name and determine parameters like price that are needed to build a call to + // this method. + // + // A successful call creates a `Registration` resource in state + // `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + // minutes, indicating that the domain was successfully registered. If the + // resource ends up in state `REGISTRATION_FAILED`, it indicates that the + // domain was not registered successfully, and you can safely delete the + // resource and retry registration. + rpc RegisterDomain(RegisterDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/registrations:register" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Gets parameters needed to transfer a domain name from another registrar to + // Cloud Domains. For domains managed by Google Domains, transferring to Cloud + // Domains is not supported. + // + // + // Use the returned values to call `TransferDomain`. + rpc RetrieveTransferParameters(RetrieveTransferParametersRequest) returns (RetrieveTransferParametersResponse) { + option (google.api.http) = { + get: "/v1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Transfers a domain name from another registrar to Cloud Domains. For + // domains managed by Google Domains, transferring to Cloud Domains is not + // supported. + // + // + // Before calling this method, go to the domain's current registrar to unlock + // the domain for transfer and retrieve the domain's transfer authorization + // code. Then call `RetrieveTransferParameters` to confirm that the domain is + // unlocked and to get values needed to build a call to this method. + // + // A successful call creates a `Registration` resource in state + // `TRANSFER_PENDING`. It can take several days to complete the transfer + // process. The registrant can often speed up this process by approving the + // transfer through the current registrar, either by clicking a link in an + // email from the registrar or by visiting the registrar's website. + // + // A few minutes after transfer approval, the resource transitions to state + // `ACTIVE`, indicating that the transfer was successful. If the transfer is + // rejected or the request expires without being approved, the resource can + // end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + // the resource and retry the transfer. + rpc TransferDomain(TransferDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{parent=projects/*/locations/*}/registrations:transfer" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price,authorization_code"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Lists the `Registration` resources in a project. + rpc ListRegistrations(ListRegistrationsRequest) returns (ListRegistrationsResponse) { + option (google.api.http) = { + get: "/v1/{parent=projects/*/locations/*}/registrations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a `Registration` resource. + rpc GetRegistration(GetRegistrationRequest) returns (Registration) { + option (google.api.http) = { + get: "/v1/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates select fields of a `Registration` resource, notably `labels`. To + // update other fields, use the appropriate custom update method: + // + // * To update management settings, see `ConfigureManagementSettings` + // * To update DNS configuration, see `ConfigureDnsSettings` + // * To update contact information, see `ConfigureContactSettings` + rpc UpdateRegistration(UpdateRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1/{registration.name=projects/*/locations/*/registrations/*}" + body: "registration" + }; + option (google.api.method_signature) = "registration,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s management settings. + rpc ConfigureManagementSettings(ConfigureManagementSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,management_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s DNS settings. + rpc ConfigureDnsSettings(ConfigureDnsSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,dns_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s contact settings. Some changes require + // confirmation by the domain's registrant contact . + rpc ConfigureContactSettings(ConfigureContactSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,contact_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Exports a `Registration` resource, such that it is no longer managed by + // Cloud Domains. + // + // When an active domain is successfully exported, you can continue to use the + // domain in [Google Domains](https://domains.google/) until it expires. The + // calling user becomes the domain's sole owner in Google Domains, and + // permissions for the domain are subsequently managed there. The domain does + // not renew automatically unless the new owner sets up billing in Google + // Domains. + rpc ExportRegistration(ExportRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1/{name=projects/*/locations/*/registrations/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a `Registration` resource. + // + // This method works on any `Registration` resource using [Subscription or + // Commitment billing](/domains/pricing#billing-models), provided that the + // resource was created at least 1 day in the past. + // + // For `Registration` resources using + // [Monthly billing](/domains/pricing#billing-models), this method works if: + // + // * `state` is `EXPORTED` with `expire_time` in the past + // * `state` is `REGISTRATION_FAILED` + // * `state` is `TRANSFER_FAILED` + // + // When an active registration is successfully deleted, you can continue to + // use the domain in [Google Domains](https://domains.google/) until it + // expires. The calling user becomes the domain's sole owner in Google + // Domains, and permissions for the domain are subsequently managed there. The + // domain does not renew automatically unless the new owner sets up billing in + // Google Domains. + rpc DeleteRegistration(DeleteRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets the authorization code of the `Registration` for the purpose of + // transferring the domain to another registrar. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc RetrieveAuthorizationCode(RetrieveAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + get: "/v1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + }; + option (google.api.method_signature) = "registration"; + } + + // Resets the authorization code of the `Registration` to a new random string. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc ResetAuthorizationCode(ResetAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + post: "/v1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode" + body: "*" + }; + option (google.api.method_signature) = "registration"; + } +} + +// The `Registration` resource facilitates managing and configuring domain name +// registrations. +// +// There are several ways to create a new `Registration` resource: +// +// To create a new `Registration` resource, find a suitable domain name by +// calling the `SearchDomains` method with a query to see available domain name +// options. After choosing a name, call `RetrieveRegisterParameters` to +// ensure availability and obtain information like pricing, which is needed to +// build a call to `RegisterDomain`. +// +// Another way to create a new `Registration` is to transfer an existing +// domain from another registrar. First, go to the current registrar to unlock +// the domain for transfer and retrieve the domain's transfer authorization +// code. Then call `RetrieveTransferParameters` to confirm that the domain is +// unlocked and to get values needed to build a call to `TransferDomain`. +message Registration { + option (google.api.resource) = { + type: "domains.googleapis.com/Registration" + pattern: "projects/{project}/locations/{location}/registrations/{registration}" + }; + + // Possible states of a `Registration`. + enum State { + // The state is undefined. + STATE_UNSPECIFIED = 0; + + // The domain is being registered. + REGISTRATION_PENDING = 1; + + // The domain registration failed. You can delete resources in this state + // to allow registration to be retried. + REGISTRATION_FAILED = 2; + + // The domain is being transferred from another registrar to Cloud Domains. + TRANSFER_PENDING = 3; + + // The attempt to transfer the domain from another registrar to + // Cloud Domains failed. You can delete resources in this state and retry + // the transfer. + TRANSFER_FAILED = 4; + + // The domain is registered and operational. The domain renews automatically + // as long as it remains in this state. + ACTIVE = 6; + + // The domain is suspended and inoperative. For more details, see the + // `issues` field. + SUSPENDED = 7; + + // The domain is no longer managed with Cloud Domains. It may have been + // transferred to another registrar or exported for management in + // [Google Domains](https://domains.google/). You can no longer update it + // with this API, and information shown about it may be stale. Domains in + // this state are not automatically renewed by Cloud Domains. + EXPORTED = 8; + } + + // Possible issues with a `Registration` that require attention. + enum Issue { + // The issue is undefined. + ISSUE_UNSPECIFIED = 0; + + // Contact the Cloud Support team to resolve a problem with this domain. + CONTACT_SUPPORT = 1; + + // [ICANN](https://icann.org/) requires verification of the email address + // in the `Registration`'s `contact_settings.registrant_contact` field. To + // verify the email address, follow the + // instructions in the email the `registrant_contact` receives following + // registration. If you do not complete email verification within + // 15 days of registration, the domain is suspended. To resend the + // verification email, call ConfigureContactSettings and provide the current + // `registrant_contact.email`. + UNVERIFIED_EMAIL = 2; + } + + // Output only. Name of the `Registration` resource, in the format + // `projects/*/locations/*/registrations/`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The creation timestamp of the `Registration` resource. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The expiration timestamp of the `Registration`. + google.protobuf.Timestamp expire_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the `Registration` + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set of issues with the `Registration` that require attention. + repeated Issue issues = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Set of labels associated with the `Registration`. + map labels = 9; + + // Settings for management of the `Registration`, including renewal, billing, + // and transfer. You cannot update these with the `UpdateRegistration` + // method. To update these settings, use the `ConfigureManagementSettings` + // method. + ManagementSettings management_settings = 10; + + // Settings controlling the DNS configuration of the `Registration`. You + // cannot update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureDnsSettings` method. + DnsSettings dns_settings = 11; + + // Required. Settings for contact information linked to the `Registration`. You cannot + // update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureContactSettings` method. + ContactSettings contact_settings = 12 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Pending contact settings for the `Registration`. Updates to the + // `contact_settings` field that change its `registrant_contact` or `privacy` + // fields require email confirmation by the `registrant_contact` + // before taking effect. This field is set only if there are pending updates + // to the `contact_settings` that have not been confirmed. To confirm the + // changes, the `registrant_contact` must follow the instructions in the + // email they receive. + ContactSettings pending_contact_settings = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of options for the `contact_settings.privacy` field that this + // `Registration` supports. + repeated ContactPrivacy supported_privacy = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines renewal, billing, and transfer settings for a `Registration`. +message ManagementSettings { + // Defines how the `Registration` is renewed. + enum RenewalMethod { + // The renewal method is undefined. + RENEWAL_METHOD_UNSPECIFIED = 0; + + // The domain is automatically renewed each year . + // + // To disable automatic renewals, delete the resource by calling + // `DeleteRegistration` or export it by calling `ExportRegistration`. + AUTOMATIC_RENEWAL = 1; + + // The domain must be explicitly renewed each year before its + // `expire_time`. This option is only available when the `Registration` + // is in state `EXPORTED`. + // + // To manage the domain's current billing and + // renewal settings, go to [Google Domains](https://domains.google/). + MANUAL_RENEWAL = 2; + } + + // Output only. The renewal method for this `Registration`. + RenewalMethod renewal_method = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Controls whether the domain can be transferred to another registrar. + TransferLockState transfer_lock_state = 4; +} + +// Defines the DNS configuration of a `Registration`, including name servers, +// DNSSEC, and glue records. +message DnsSettings { + // Configuration for an arbitrary DNS provider. + message CustomDns { + // Required. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. + repeated string name_servers = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of DS records for this domain, which are used to enable DNSSEC. + // The domain's DNS provider can provide the values to set here. If this + // field is empty, DNSSEC is disabled. + repeated DsRecord ds_records = 2; + } + + // Configuration for using the free DNS zone provided by Google Domains as a + // `Registration`'s `dns_provider`. You cannot configure the DNS zone itself + // using the API. To configure the DNS zone, go to + // [Google Domains](https://domains.google/). + message GoogleDomainsDns { + // Output only. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. This field is automatically populated with the name + // servers assigned to the Google Domains DNS zone. + repeated string name_servers = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The state of DS records for this domain. Used to enable or disable + // automatic DNSSEC. + DsState ds_state = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The list of DS records published for this domain. The list is + // automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, + // otherwise it remains empty. + repeated DsRecord ds_records = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC + // for a domain. It contains a digest (hash) of a DNSKEY record that must be + // present in the domain's DNS zone. + message DsRecord { + // List of algorithms used to create a DNSKEY. Certain + // algorithms are not supported for particular domains. + enum Algorithm { + // The algorithm is unspecified. + ALGORITHM_UNSPECIFIED = 0; + + // RSA/MD5. Cannot be used for new deployments. + RSAMD5 = 1; + + // Diffie-Hellman. Cannot be used for new deployments. + DH = 2; + + // DSA/SHA1. Not recommended for new deployments. + DSA = 3; + + // ECC. Not recommended for new deployments. + ECC = 4; + + // RSA/SHA-1. Not recommended for new deployments. + RSASHA1 = 5; + + // DSA-NSEC3-SHA1. Not recommended for new deployments. + DSANSEC3SHA1 = 6; + + // RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments. + RSASHA1NSEC3SHA1 = 7; + + // RSA/SHA-256. + RSASHA256 = 8; + + // RSA/SHA-512. + RSASHA512 = 10; + + // GOST R 34.10-2001. + ECCGOST = 12; + + // ECDSA Curve P-256 with SHA-256. + ECDSAP256SHA256 = 13; + + // ECDSA Curve P-384 with SHA-384. + ECDSAP384SHA384 = 14; + + // Ed25519. + ED25519 = 15; + + // Ed448. + ED448 = 16; + + // Reserved for Indirect Keys. Cannot be used for new deployments. + INDIRECT = 252; + + // Private algorithm. Cannot be used for new deployments. + PRIVATEDNS = 253; + + // Private algorithm OID. Cannot be used for new deployments. + PRIVATEOID = 254; + } + + // List of hash functions that may have been used to generate a digest of a + // DNSKEY. + enum DigestType { + // The DigestType is unspecified. + DIGEST_TYPE_UNSPECIFIED = 0; + + // SHA-1. Not recommended for new deployments. + SHA1 = 1; + + // SHA-256. + SHA256 = 2; + + // GOST R 34.11-94. + GOST3411 = 3; + + // SHA-384. + SHA384 = 4; + } + + // The key tag of the record. Must be set in range 0 -- 65535. + int32 key_tag = 1; + + // The algorithm used to generate the referenced DNSKEY. + Algorithm algorithm = 2; + + // The hash function used to generate the digest of the referenced DNSKEY. + DigestType digest_type = 3; + + // The digest generated from the referenced DNSKEY. + string digest = 4; + } + + // Defines a host on your domain that is a DNS name server for your domain + // and/or other domains. Glue records are a way of making the IP address of a + // name server known, even when it serves DNS queries for its parent domain. + // For example, when `ns.example.com` is a name server for `example.com`, the + // host `ns.example.com` must have a glue record to break the circular DNS + // reference. + message GlueRecord { + // Required. Domain name of the host in Punycode format. + string host_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // List of IPv4 addresses corresponding to this host in the standard decimal + // format (e.g. `198.51.100.1`). At least one of `ipv4_address` and + // `ipv6_address` must be set. + repeated string ipv4_addresses = 2; + + // List of IPv6 addresses corresponding to this host in the standard + // hexadecimal format (e.g. `2001:db8::`). At least one of + // `ipv4_address` and `ipv6_address` must be set. + repeated string ipv6_addresses = 3; + } + + // The publication state of DS records for a `Registration`. + enum DsState { + // DS state is unspecified. + DS_STATE_UNSPECIFIED = 0; + + // DNSSEC is disabled for this domain. No DS records for this domain are + // published in the parent DNS zone. + DS_RECORDS_UNPUBLISHED = 1; + + // DNSSEC is enabled for this domain. Appropriate DS records for this domain + // are published in the parent DNS zone. This option is valid only if the + // DNS zone referenced in the `Registration`'s `dns_provider` field is + // already DNSSEC-signed. + DS_RECORDS_PUBLISHED = 2; + } + + // The DNS provider of the registration. + oneof dns_provider { + // An arbitrary DNS provider identified by its name servers. + CustomDns custom_dns = 1; + + // The free DNS zone provided by + // [Google Domains](https://domains.google/). + GoogleDomainsDns google_domains_dns = 2; + } + + // The list of glue records for this `Registration`. Commonly empty. + repeated GlueRecord glue_records = 4; +} + +// Defines the contact information associated with a `Registration`. +// +// [ICANN](https://icann.org/) requires all domain names to have associated +// contact information. The `registrant_contact` is considered the +// domain's legal owner, and often the other contacts are identical. +message ContactSettings { + // Details required for a contact associated with a `Registration`. + message Contact { + // Required. Postal address of the contact. + google.type.PostalAddress postal_address = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Email address of the contact. + string email = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Phone number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string phone_number = 3 [(google.api.field_behavior) = REQUIRED]; + + // Fax number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string fax_number = 4; + } + + // Required. Privacy setting for the contacts associated with the `Registration`. + ContactPrivacy privacy = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The registrant contact for the `Registration`. + // + // *Caution: Anyone with access to this email address, phone number, + // and/or postal address can take control of the domain.* + // + // *Warning: For new `Registration`s, the registrant receives an email + // confirmation that they must complete within 15 days to avoid domain + // suspension.* + Contact registrant_contact = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The administrative contact for the `Registration`. + Contact admin_contact = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The technical contact for the `Registration`. + Contact technical_contact = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `SearchDomains` method. +message SearchDomainsRequest { + // Required. String used to search for available domain names. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `SearchDomains` method. +message SearchDomainsResponse { + // Results of the domain name search. + repeated RegisterParameters register_parameters = 1; +} + +// Request for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersResponse { + // Parameters to use when calling the `RegisterDomain` method. + RegisterParameters register_parameters = 1; +} + +// Request for the `RegisterDomain` method. +message RegisterDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of domain notices that you acknowledge. Call + // `RetrieveRegisterParameters` to see the notices that need acknowledgement. + repeated DomainNotice domain_notices = 3; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Required. Yearly price to register or renew the domain. + // The value that should be put here can be obtained from + // RetrieveRegisterParameters or SearchDomains calls. + google.type.Money yearly_price = 5 [(google.api.field_behavior) = REQUIRED]; + + // When true, only validation is performed, without actually registering + // the domain. Follows: + // https://cloud.google.com/apis/design/design_patterns#request_validation + bool validate_only = 6; +} + +// Request for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersResponse { + // Parameters to use when calling the `TransferDomain` method. + TransferParameters transfer_parameters = 1; +} + +// Request for the `TransferDomain` method. +message TransferDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + // + // You can leave `registration.dns_settings` unset to import the + // domain's current DNS configuration from its current registrar. Use this + // option only if you are sure that the domain's current DNS service + // does not cease upon transfer, as is often the case for DNS services + // provided for free by the registrar. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that you acknowledge. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 3; + + // Required. Acknowledgement of the price to transfer or renew the domain for one year. + // Call `RetrieveTransferParameters` to obtain the price, which you must + // acknowledge. + google.type.Money yearly_price = 4 [(google.api.field_behavior) = REQUIRED]; + + // The domain's transfer authorization code. You can obtain this from the + // domain's current registrar. + AuthorizationCode authorization_code = 5; + + // Validate the request without actually transferring the domain. + bool validate_only = 6; +} + +// Request for the `ListRegistrations` method. +message ListRegistrationsRequest { + // Required. The project and location from which to list `Registration`s, specified in + // the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of results to return. + int32 page_size = 2; + + // When set to the `next_page_token` from a prior response, provides the next + // page of results. + string page_token = 3; + + // Filter expression to restrict the `Registration`s returned. + // + // The expression must specify the field name, a comparison operator, and the + // value that you want to use for filtering. The value must be a string, a + // number, a boolean, or an enum value. The comparison operator should be one + // of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + // + // For example, to filter to a specific domain name, use an expression like + // `domainName="example.com"`. You can also check for the existence of a + // field; for example, to find domains using custom DNS settings, use an + // expression like `dnsSettings.customDns:*`. + // + // You can also create compound filters by combining expressions with the + // `AND` and `OR` operators. For example, to find domains that are suspended + // or have specific issues flagged, use an expression like + // `(state=SUSPENDED) OR (issue:*)`. + string filter = 4; +} + +// Response for the `ListRegistrations` method. +message ListRegistrationsResponse { + // A list of `Registration`s. + repeated Registration registrations = 1; + + // When present, there are more results to retrieve. Set `page_token` to this + // value on a subsequent call to get the next page of results. + string next_page_token = 2; +} + +// Request for the `GetRegistration` method. +message GetRegistrationRequest { + // Required. The name of the `Registration` to get, in the format + // `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `UpdateRegistration` method. +message UpdateRegistrationRequest { + // Fields of the `Registration` to update. + Registration registration = 1; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the labels are being updated, the `update_mask` is + // `"labels"`. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureManagementSettings` method. +message ConfigureManagementSettingsRequest { + // Required. The name of the `Registration` whose management settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ManagementSettings` to update. + ManagementSettings management_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the transfer lock is being updated, the `update_mask` + // is `"transfer_lock_state"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureDnsSettings` method. +message ConfigureDnsSettingsRequest { + // Required. The name of the `Registration` whose DNS settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `DnsSettings` to update. + DnsSettings dns_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the name servers are being updated for an existing + // Custom DNS configuration, the `update_mask` is + // `"custom_dns.name_servers"`. + // + // When changing the DNS provider from one type to another, pass the new + // provider's field name as part of the field mask. For example, when changing + // from a Google Domains DNS configuration to a Custom DNS configuration, the + // `update_mask` is `"custom_dns"`. // + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // Validate the request without actually updating the DNS settings. + bool validate_only = 4; +} + +// Request for the `ConfigureContactSettings` method. +message ConfigureContactSettingsRequest { + // Required. The name of the `Registration` whose contact settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ContactSettings` to update. + ContactSettings contact_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the registrant contact is being updated, the + // `update_mask` is `"registrant_contact"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in `contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Validate the request without actually updating the contact settings. + bool validate_only = 5; +} + +// Request for the `ExportRegistration` method. +message ExportRegistrationRequest { + // Required. The name of the `Registration` to export, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `DeleteRegistration` method. +message DeleteRegistrationRequest { + // Required. The name of the `Registration` to delete, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `RetrieveAuthorizationCode` method. +message RetrieveAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being retrieved, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `ResetAuthorizationCode` method. +message ResetAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being reset, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Parameters required to register a new domain. +message RegisterParameters { + // Possible availability states of a domain name. + enum Availability { + // The availability is unspecified. + AVAILABILITY_UNSPECIFIED = 0; + + // The domain is available for registration. + AVAILABLE = 1; + + // The domain is not available for registration. Generally this means it is + // already registered to another party. + UNAVAILABLE = 2; + + // The domain is not currently supported by Cloud Domains, but may + // be available elsewhere. + UNSUPPORTED = 3; + + // Cloud Domains is unable to determine domain availability, generally + // due to system maintenance at the domain name registry. + UNKNOWN = 4; + } + + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // Indicates whether the domain is available for registration. This value is + // accurate when obtained by calling `RetrieveRegisterParameters`, but is + // approximate when obtained by calling `SearchDomains`. + Availability availability = 2; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 3; + + // Notices about special properties of the domain. + repeated DomainNotice domain_notices = 4; + + // Price to register or renew the domain for one year. + google.type.Money yearly_price = 5; +} + +// Parameters required to transfer a domain from another registrar. +message TransferParameters { + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // The registrar that currently manages the domain. + string current_registrar = 2; + + // The name servers that currently store the configuration of the domain. + repeated string name_servers = 3; + + // Indicates whether the domain is protected by a transfer lock. For a + // transfer to succeed, this must show `UNLOCKED`. To unlock a domain, + // go to its current registrar. + TransferLockState transfer_lock_state = 4; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 5; + + // Price to transfer or renew the domain for one year. + google.type.Money yearly_price = 6; +} + +// Defines an authorization code. +message AuthorizationCode { + // The Authorization Code in ASCII. It can be used to transfer the domain + // to or from another registrar. + string code = 1; +} + +// Represents the metadata of the long-running operation. Output only. +message OperationMetadata { + // The time the operation was created. + google.protobuf.Timestamp create_time = 1; + + // The time the operation finished running. + google.protobuf.Timestamp end_time = 2; + + // Server-defined resource path for the target of the operation. + string target = 3; + + // Name of the verb executed by the operation. + string verb = 4; + + // Human-readable status of the operation, if any. + string status_detail = 5; + + // API version used to start the operation. + string api_version = 6; +} + +// Defines a set of possible contact privacy settings for a `Registration`. +// +// [ICANN](https://icann.org/) maintains the WHOIS database, a publicly +// accessible mapping from domain name to contact information, and requires that +// each domain name have an entry. Choose from these options to control how much +// information in your `ContactSettings` is published. +enum ContactPrivacy { + // The contact privacy settings are undefined. + CONTACT_PRIVACY_UNSPECIFIED = 0; + + // All the data from `ContactSettings` is publicly available. When setting + // this option, you must also provide a + // `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the + // request. + PUBLIC_CONTACT_DATA = 1; + + // None of the data from `ContactSettings` is publicly available. Instead, + // proxy contact data is published for your domain. Email sent to the proxy + // email address is forwarded to the registrant's email address. Cloud Domains + // provides this privacy proxy service at no additional cost. + PRIVATE_CONTACT_DATA = 2; + + // Some data from `ContactSettings` is publicly available. The actual + // information redacted depends on the domain. For details, see [the + // registration privacy + // article](https://support.google.com/domains/answer/3251242). + REDACTED_CONTACT_DATA = 3; +} + +// Notices about special properties of certain domains. +enum DomainNotice { + // The notice is undefined. + DOMAIN_NOTICE_UNSPECIFIED = 0; + + // Indicates that the domain is preloaded on the HTTP Strict Transport + // Security list in browsers. Serving a website on such domain requires + // an SSL certificate. For details, see + // [how to get an SSL + // certificate](https://support.google.com/domains/answer/7638036). + HSTS_PRELOADED = 1; +} + +// Notices related to contact information. +enum ContactNotice { + // The notice is undefined. + CONTACT_NOTICE_UNSPECIFIED = 0; + + // Required when setting the `privacy` field of `ContactSettings` to + // `PUBLIC_CONTACT_DATA`, which exposes contact data publicly. + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1; +} + +// Possible states of a `Registration`'s transfer lock. +enum TransferLockState { + // The state is unspecified. + TRANSFER_LOCK_STATE_UNSPECIFIED = 0; + + // The domain is unlocked and can be transferred to another registrar. + UNLOCKED = 1; + + // The domain is locked and cannot be transferred to another registrar. + LOCKED = 2; +} diff --git a/packages/google-cloud-domains/protos/google/cloud/domains/v1alpha2/domains.proto b/packages/google-cloud-domains/protos/google/cloud/domains/v1alpha2/domains.proto new file mode 100644 index 00000000000..8f4273c399d --- /dev/null +++ b/packages/google-cloud-domains/protos/google/cloud/domains/v1alpha2/domains.proto @@ -0,0 +1,1147 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.domains.v1alpha2; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; +import "google/type/postal_address.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/domains/v1alpha2;domains"; +option java_multiple_files = true; +option java_outer_classname = "DomainsProto"; +option java_package = "com.google.cloud.domains.v1alpha2"; + +// The Cloud Domains API enables management and configuration of domain names. +service Domains { + option (google.api.default_host) = "domains.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Searches for available domain names similar to the provided query. + // + // Availability results from this method are approximate; call + // `RetrieveRegisterParameters` on a domain before registering to confirm + // availability. + rpc SearchDomains(SearchDomainsRequest) returns (SearchDomainsResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:searchDomains" + }; + option (google.api.method_signature) = "location,query"; + } + + // Gets parameters needed to register a new domain name, including price and + // up-to-date availability. Use the returned values to call `RegisterDomain`. + rpc RetrieveRegisterParameters(RetrieveRegisterParametersRequest) returns (RetrieveRegisterParametersResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Registers a new domain name and creates a corresponding `Registration` + // resource. + // + // Call `RetrieveRegisterParameters` first to check availability of the domain + // name and determine parameters like price that are needed to build a call to + // this method. + // + // A successful call creates a `Registration` resource in state + // `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + // minutes, indicating that the domain was successfully registered. If the + // resource ends up in state `REGISTRATION_FAILED`, it indicates that the + // domain was not registered successfully, and you can safely delete the + // resource and retry registration. + rpc RegisterDomain(RegisterDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{parent=projects/*/locations/*}/registrations:register" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Gets parameters needed to transfer a domain name from another registrar to + // Cloud Domains. For domains managed by Google Domains, transferring to Cloud + // Domains is not supported. + // + // + // Use the returned values to call `TransferDomain`. + rpc RetrieveTransferParameters(RetrieveTransferParametersRequest) returns (RetrieveTransferParametersResponse) { + option (google.api.http) = { + get: "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Transfers a domain name from another registrar to Cloud Domains. For + // domains managed by Google Domains, transferring to Cloud Domains is not + // supported. + // + // + // Before calling this method, go to the domain's current registrar to unlock + // the domain for transfer and retrieve the domain's transfer authorization + // code. Then call `RetrieveTransferParameters` to confirm that the domain is + // unlocked and to get values needed to build a call to this method. + // + // A successful call creates a `Registration` resource in state + // `TRANSFER_PENDING`. It can take several days to complete the transfer + // process. The registrant can often speed up this process by approving the + // transfer through the current registrar, either by clicking a link in an + // email from the registrar or by visiting the registrar's website. + // + // A few minutes after transfer approval, the resource transitions to state + // `ACTIVE`, indicating that the transfer was successful. If the transfer is + // rejected or the request expires without being approved, the resource can + // end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + // the resource and retry the transfer. + rpc TransferDomain(TransferDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{parent=projects/*/locations/*}/registrations:transfer" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price,authorization_code"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Lists the `Registration` resources in a project. + rpc ListRegistrations(ListRegistrationsRequest) returns (ListRegistrationsResponse) { + option (google.api.http) = { + get: "/v1alpha2/{parent=projects/*/locations/*}/registrations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a `Registration` resource. + rpc GetRegistration(GetRegistrationRequest) returns (Registration) { + option (google.api.http) = { + get: "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates select fields of a `Registration` resource, notably `labels`. To + // update other fields, use the appropriate custom update method: + // + // * To update management settings, see `ConfigureManagementSettings` + // * To update DNS configuration, see `ConfigureDnsSettings` + // * To update contact information, see `ConfigureContactSettings` + rpc UpdateRegistration(UpdateRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1alpha2/{registration.name=projects/*/locations/*/registrations/*}" + body: "registration" + }; + option (google.api.method_signature) = "registration,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s management settings. + rpc ConfigureManagementSettings(ConfigureManagementSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,management_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s DNS settings. + rpc ConfigureDnsSettings(ConfigureDnsSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,dns_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s contact settings. Some changes require + // confirmation by the domain's registrant contact . + rpc ConfigureContactSettings(ConfigureContactSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureContactSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,contact_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Exports a `Registration` resource, such that it is no longer managed by + // Cloud Domains. + // + // When an active domain is successfully exported, you can continue to use the + // domain in [Google Domains](https://domains.google/) until it expires. The + // calling user becomes the domain's sole owner in Google Domains, and + // permissions for the domain are subsequently managed there. The domain does + // not renew automatically unless the new owner sets up billing in Google + // Domains. + rpc ExportRegistration(ExportRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1alpha2/{name=projects/*/locations/*/registrations/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a `Registration` resource. + // + // This method works on any `Registration` resource using [Subscription or + // Commitment billing](/domains/pricing#billing-models), provided that the + // resource was created at least 1 day in the past. + // + // For `Registration` resources using + // [Monthly billing](/domains/pricing#billing-models), this method works if: + // + // * `state` is `EXPORTED` with `expire_time` in the past + // * `state` is `REGISTRATION_FAILED` + // * `state` is `TRANSFER_FAILED` + // + // When an active registration is successfully deleted, you can continue to + // use the domain in [Google Domains](https://domains.google/) until it + // expires. The calling user becomes the domain's sole owner in Google + // Domains, and permissions for the domain are subsequently managed there. The + // domain does not renew automatically unless the new owner sets up billing in + // Google Domains. + rpc DeleteRegistration(DeleteRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets the authorization code of the `Registration` for the purpose of + // transferring the domain to another registrar. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc RetrieveAuthorizationCode(RetrieveAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + get: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + }; + option (google.api.method_signature) = "registration"; + } + + // Resets the authorization code of the `Registration` to a new random string. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc ResetAuthorizationCode(ResetAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + post: "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode" + body: "*" + }; + option (google.api.method_signature) = "registration"; + } +} + +// The `Registration` resource facilitates managing and configuring domain name +// registrations. +// +// There are several ways to create a new `Registration` resource: +// +// To create a new `Registration` resource, find a suitable domain name by +// calling the `SearchDomains` method with a query to see available domain name +// options. After choosing a name, call `RetrieveRegisterParameters` to +// ensure availability and obtain information like pricing, which is needed to +// build a call to `RegisterDomain`. +// +// Another way to create a new `Registration` is to transfer an existing +// domain from another registrar. First, go to the current registrar to unlock +// the domain for transfer and retrieve the domain's transfer authorization +// code. Then call `RetrieveTransferParameters` to confirm that the domain is +// unlocked and to get values needed to build a call to `TransferDomain`. +message Registration { + option (google.api.resource) = { + type: "domains.googleapis.com/Registration" + pattern: "projects/{project}/locations/{location}/registrations/{registration}" + }; + + // Possible states of a `Registration`. + enum State { + // The state is undefined. + STATE_UNSPECIFIED = 0; + + // The domain is being registered. + REGISTRATION_PENDING = 1; + + // The domain registration failed. You can delete resources in this state + // to allow registration to be retried. + REGISTRATION_FAILED = 2; + + // The domain is being transferred from another registrar to Cloud Domains. + TRANSFER_PENDING = 3; + + // The attempt to transfer the domain from another registrar to + // Cloud Domains failed. You can delete resources in this state and retry + // the transfer. + TRANSFER_FAILED = 4; + + // The domain is registered and operational. The domain renews automatically + // as long as it remains in this state. + ACTIVE = 6; + + // The domain is suspended and inoperative. For more details, see the + // `issues` field. + SUSPENDED = 7; + + // The domain is no longer managed with Cloud Domains. It may have been + // transferred to another registrar or exported for management in + // [Google Domains](https://domains.google/). You can no longer update it + // with this API, and information shown about it may be stale. Domains in + // this state are not automatically renewed by Cloud Domains. + EXPORTED = 8; + } + + // Possible issues with a `Registration` that require attention. + enum Issue { + // The issue is undefined. + ISSUE_UNSPECIFIED = 0; + + // Contact the Cloud Support team to resolve a problem with this domain. + CONTACT_SUPPORT = 1; + + // [ICANN](https://icann.org/) requires verification of the email address + // in the `Registration`'s `contact_settings.registrant_contact` field. To + // verify the email address, follow the + // instructions in the email the `registrant_contact` receives following + // registration. If you do not complete email verification within + // 15 days of registration, the domain is suspended. To resend the + // verification email, call ConfigureContactSettings and provide the current + // `registrant_contact.email`. + UNVERIFIED_EMAIL = 2; + } + + // Output only. Name of the `Registration` resource, in the format + // `projects/*/locations/*/registrations/`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The creation timestamp of the `Registration` resource. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The expiration timestamp of the `Registration`. + google.protobuf.Timestamp expire_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the `Registration` + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set of issues with the `Registration` that require attention. + repeated Issue issues = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Set of labels associated with the `Registration`. + map labels = 9; + + // Settings for management of the `Registration`, including renewal, billing, + // and transfer. You cannot update these with the `UpdateRegistration` + // method. To update these settings, use the `ConfigureManagementSettings` + // method. + ManagementSettings management_settings = 10; + + // Settings controlling the DNS configuration of the `Registration`. You + // cannot update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureDnsSettings` method. + DnsSettings dns_settings = 11; + + // Required. Settings for contact information linked to the `Registration`. You cannot + // update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureContactSettings` method. + ContactSettings contact_settings = 12 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Pending contact settings for the `Registration`. Updates to the + // `contact_settings` field that change its `registrant_contact` or `privacy` + // fields require email confirmation by the `registrant_contact` + // before taking effect. This field is set only if there are pending updates + // to the `contact_settings` that have not been confirmed. To confirm the + // changes, the `registrant_contact` must follow the instructions in the + // email they receive. + ContactSettings pending_contact_settings = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of options for the `contact_settings.privacy` field that this + // `Registration` supports. + repeated ContactPrivacy supported_privacy = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines renewal, billing, and transfer settings for a `Registration`. +message ManagementSettings { + // Defines how the `Registration` is renewed. + enum RenewalMethod { + // The renewal method is undefined. + RENEWAL_METHOD_UNSPECIFIED = 0; + + // The domain is automatically renewed each year . + // + // To disable automatic renewals, delete the resource by calling + // `DeleteRegistration` or export it by calling `ExportRegistration`. + AUTOMATIC_RENEWAL = 1; + + // The domain must be explicitly renewed each year before its + // `expire_time`. This option is only available when the `Registration` + // is in state `EXPORTED`. + // + // To manage the domain's current billing and + // renewal settings, go to [Google Domains](https://domains.google/). + MANUAL_RENEWAL = 2; + } + + // Output only. The renewal method for this `Registration`. + RenewalMethod renewal_method = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Controls whether the domain can be transferred to another registrar. + TransferLockState transfer_lock_state = 4; +} + +// Defines the DNS configuration of a `Registration`, including name servers, +// DNSSEC, and glue records. +message DnsSettings { + // Configuration for an arbitrary DNS provider. + message CustomDns { + // Required. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. + repeated string name_servers = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of DS records for this domain, which are used to enable DNSSEC. + // The domain's DNS provider can provide the values to set here. If this + // field is empty, DNSSEC is disabled. + repeated DsRecord ds_records = 2; + } + + // Configuration for using the free DNS zone provided by Google Domains as a + // `Registration`'s `dns_provider`. You cannot configure the DNS zone itself + // using the API. To configure the DNS zone, go to + // [Google Domains](https://domains.google/). + message GoogleDomainsDns { + // Output only. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. This field is automatically populated with the name + // servers assigned to the Google Domains DNS zone. + repeated string name_servers = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The state of DS records for this domain. Used to enable or disable + // automatic DNSSEC. + DsState ds_state = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The list of DS records published for this domain. The list is + // automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, + // otherwise it remains empty. + repeated DsRecord ds_records = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC + // for a domain. It contains a digest (hash) of a DNSKEY record that must be + // present in the domain's DNS zone. + message DsRecord { + // List of algorithms used to create a DNSKEY. Certain + // algorithms are not supported for particular domains. + enum Algorithm { + // The algorithm is unspecified. + ALGORITHM_UNSPECIFIED = 0; + + // RSA/MD5. Cannot be used for new deployments. + RSAMD5 = 1; + + // Diffie-Hellman. Cannot be used for new deployments. + DH = 2; + + // DSA/SHA1. Not recommended for new deployments. + DSA = 3; + + // ECC. Not recommended for new deployments. + ECC = 4; + + // RSA/SHA-1. Not recommended for new deployments. + RSASHA1 = 5; + + // DSA-NSEC3-SHA1. Not recommended for new deployments. + DSANSEC3SHA1 = 6; + + // RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments. + RSASHA1NSEC3SHA1 = 7; + + // RSA/SHA-256. + RSASHA256 = 8; + + // RSA/SHA-512. + RSASHA512 = 10; + + // GOST R 34.10-2001. + ECCGOST = 12; + + // ECDSA Curve P-256 with SHA-256. + ECDSAP256SHA256 = 13; + + // ECDSA Curve P-384 with SHA-384. + ECDSAP384SHA384 = 14; + + // Ed25519. + ED25519 = 15; + + // Ed448. + ED448 = 16; + + // Reserved for Indirect Keys. Cannot be used for new deployments. + INDIRECT = 252; + + // Private algorithm. Cannot be used for new deployments. + PRIVATEDNS = 253; + + // Private algorithm OID. Cannot be used for new deployments. + PRIVATEOID = 254; + } + + // List of hash functions that may have been used to generate a digest of a + // DNSKEY. + enum DigestType { + // The DigestType is unspecified. + DIGEST_TYPE_UNSPECIFIED = 0; + + // SHA-1. Not recommended for new deployments. + SHA1 = 1; + + // SHA-256. + SHA256 = 2; + + // GOST R 34.11-94. + GOST3411 = 3; + + // SHA-384. + SHA384 = 4; + } + + // The key tag of the record. Must be set in range 0 -- 65535. + int32 key_tag = 1; + + // The algorithm used to generate the referenced DNSKEY. + Algorithm algorithm = 2; + + // The hash function used to generate the digest of the referenced DNSKEY. + DigestType digest_type = 3; + + // The digest generated from the referenced DNSKEY. + string digest = 4; + } + + // Defines a host on your domain that is a DNS name server for your domain + // and/or other domains. Glue records are a way of making the IP address of a + // name server known, even when it serves DNS queries for its parent domain. + // For example, when `ns.example.com` is a name server for `example.com`, the + // host `ns.example.com` must have a glue record to break the circular DNS + // reference. + message GlueRecord { + // Required. Domain name of the host in Punycode format. + string host_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // List of IPv4 addresses corresponding to this host in the standard decimal + // format (e.g. `198.51.100.1`). At least one of `ipv4_address` and + // `ipv6_address` must be set. + repeated string ipv4_addresses = 2; + + // List of IPv6 addresses corresponding to this host in the standard + // hexadecimal format (e.g. `2001:db8::`). At least one of + // `ipv4_address` and `ipv6_address` must be set. + repeated string ipv6_addresses = 3; + } + + // The publication state of DS records for a `Registration`. + enum DsState { + // DS state is unspecified. + DS_STATE_UNSPECIFIED = 0; + + // DNSSEC is disabled for this domain. No DS records for this domain are + // published in the parent DNS zone. + DS_RECORDS_UNPUBLISHED = 1; + + // DNSSEC is enabled for this domain. Appropriate DS records for this domain + // are published in the parent DNS zone. This option is valid only if the + // DNS zone referenced in the `Registration`'s `dns_provider` field is + // already DNSSEC-signed. + DS_RECORDS_PUBLISHED = 2; + } + + // The DNS provider of the registration. + oneof dns_provider { + // An arbitrary DNS provider identified by its name servers. + CustomDns custom_dns = 1; + + // The free DNS zone provided by + // [Google Domains](https://domains.google/). + GoogleDomainsDns google_domains_dns = 2; + } + + // The list of glue records for this `Registration`. Commonly empty. + repeated GlueRecord glue_records = 4; +} + +// Defines the contact information associated with a `Registration`. +// +// [ICANN](https://icann.org/) requires all domain names to have associated +// contact information. The `registrant_contact` is considered the +// domain's legal owner, and often the other contacts are identical. +message ContactSettings { + // Details required for a contact associated with a `Registration`. + message Contact { + // Required. Postal address of the contact. + google.type.PostalAddress postal_address = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Email address of the contact. + string email = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Phone number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string phone_number = 3 [(google.api.field_behavior) = REQUIRED]; + + // Fax number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string fax_number = 4; + } + + // Required. Privacy setting for the contacts associated with the `Registration`. + ContactPrivacy privacy = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The registrant contact for the `Registration`. + // + // *Caution: Anyone with access to this email address, phone number, + // and/or postal address can take control of the domain.* + // + // *Warning: For new `Registration`s, the registrant receives an email + // confirmation that they must complete within 15 days to avoid domain + // suspension.* + Contact registrant_contact = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The administrative contact for the `Registration`. + Contact admin_contact = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The technical contact for the `Registration`. + Contact technical_contact = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `SearchDomains` method. +message SearchDomainsRequest { + // Required. String used to search for available domain names. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `SearchDomains` method. +message SearchDomainsResponse { + // Results of the domain name search. + repeated RegisterParameters register_parameters = 1; +} + +// Request for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersResponse { + // Parameters to use when calling the `RegisterDomain` method. + RegisterParameters register_parameters = 1; +} + +// Request for the `RegisterDomain` method. +message RegisterDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of domain notices that you acknowledge. Call + // `RetrieveRegisterParameters` to see the notices that need acknowledgement. + repeated DomainNotice domain_notices = 3; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Required. Yearly price to register or renew the domain. + // The value that should be put here can be obtained from + // RetrieveRegisterParameters or SearchDomains calls. + google.type.Money yearly_price = 5 [(google.api.field_behavior) = REQUIRED]; + + // When true, only validation is performed, without actually registering + // the domain. Follows: + // https://cloud.google.com/apis/design/design_patterns#request_validation + bool validate_only = 6; +} + +// Request for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersResponse { + // Parameters to use when calling the `TransferDomain` method. + TransferParameters transfer_parameters = 1; +} + +// Request for the `TransferDomain` method. +message TransferDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + // + // You can leave `registration.dns_settings` unset to import the + // domain's current DNS configuration from its current registrar. Use this + // option only if you are sure that the domain's current DNS service + // does not cease upon transfer, as is often the case for DNS services + // provided for free by the registrar. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that you acknowledge. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 3; + + // Required. Acknowledgement of the price to transfer or renew the domain for one year. + // Call `RetrieveTransferParameters` to obtain the price, which you must + // acknowledge. + google.type.Money yearly_price = 4 [(google.api.field_behavior) = REQUIRED]; + + // The domain's transfer authorization code. You can obtain this from the + // domain's current registrar. + AuthorizationCode authorization_code = 5; + + // Validate the request without actually transferring the domain. + bool validate_only = 6; +} + +// Request for the `ListRegistrations` method. +message ListRegistrationsRequest { + // Required. The project and location from which to list `Registration`s, specified in + // the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of results to return. + int32 page_size = 2; + + // When set to the `next_page_token` from a prior response, provides the next + // page of results. + string page_token = 3; + + // Filter expression to restrict the `Registration`s returned. + // + // The expression must specify the field name, a comparison operator, and the + // value that you want to use for filtering. The value must be a string, a + // number, a boolean, or an enum value. The comparison operator should be one + // of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + // + // For example, to filter to a specific domain name, use an expression like + // `domainName="example.com"`. You can also check for the existence of a + // field; for example, to find domains using custom DNS settings, use an + // expression like `dnsSettings.customDns:*`. + // + // You can also create compound filters by combining expressions with the + // `AND` and `OR` operators. For example, to find domains that are suspended + // or have specific issues flagged, use an expression like + // `(state=SUSPENDED) OR (issue:*)`. + string filter = 4; +} + +// Response for the `ListRegistrations` method. +message ListRegistrationsResponse { + // A list of `Registration`s. + repeated Registration registrations = 1; + + // When present, there are more results to retrieve. Set `page_token` to this + // value on a subsequent call to get the next page of results. + string next_page_token = 2; +} + +// Request for the `GetRegistration` method. +message GetRegistrationRequest { + // Required. The name of the `Registration` to get, in the format + // `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `UpdateRegistration` method. +message UpdateRegistrationRequest { + // Fields of the `Registration` to update. + Registration registration = 1; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the labels are being updated, the `update_mask` is + // `"labels"`. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureManagementSettings` method. +message ConfigureManagementSettingsRequest { + // Required. The name of the `Registration` whose management settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ManagementSettings` to update. + ManagementSettings management_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the transfer lock is being updated, the `update_mask` + // is `"transfer_lock_state"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureDnsSettings` method. +message ConfigureDnsSettingsRequest { + // Required. The name of the `Registration` whose DNS settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `DnsSettings` to update. + DnsSettings dns_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the name servers are being updated for an existing + // Custom DNS configuration, the `update_mask` is + // `"custom_dns.name_servers"`. + // + // When changing the DNS provider from one type to another, pass the new + // provider's field name as part of the field mask. For example, when changing + // from a Google Domains DNS configuration to a Custom DNS configuration, the + // `update_mask` is `"custom_dns"`. // + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // Validate the request without actually updating the DNS settings. + bool validate_only = 4; +} + +// Request for the `ConfigureContactSettings` method. +message ConfigureContactSettingsRequest { + // Required. The name of the `Registration` whose contact settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ContactSettings` to update. + ContactSettings contact_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the registrant contact is being updated, the + // `update_mask` is `"registrant_contact"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in `contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Validate the request without actually updating the contact settings. + bool validate_only = 5; +} + +// Request for the `ExportRegistration` method. +message ExportRegistrationRequest { + // Required. The name of the `Registration` to export, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `DeleteRegistration` method. +message DeleteRegistrationRequest { + // Required. The name of the `Registration` to delete, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `RetrieveAuthorizationCode` method. +message RetrieveAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being retrieved, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `ResetAuthorizationCode` method. +message ResetAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being reset, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Parameters required to register a new domain. +message RegisterParameters { + // Possible availability states of a domain name. + enum Availability { + // The availability is unspecified. + AVAILABILITY_UNSPECIFIED = 0; + + // The domain is available for registration. + AVAILABLE = 1; + + // The domain is not available for registration. Generally this means it is + // already registered to another party. + UNAVAILABLE = 2; + + // The domain is not currently supported by Cloud Domains, but may + // be available elsewhere. + UNSUPPORTED = 3; + + // Cloud Domains is unable to determine domain availability, generally + // due to system maintenance at the domain name registry. + UNKNOWN = 4; + } + + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // Indicates whether the domain is available for registration. This value is + // accurate when obtained by calling `RetrieveRegisterParameters`, but is + // approximate when obtained by calling `SearchDomains`. + Availability availability = 2; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 3; + + // Notices about special properties of the domain. + repeated DomainNotice domain_notices = 4; + + // Price to register or renew the domain for one year. + google.type.Money yearly_price = 5; +} + +// Parameters required to transfer a domain from another registrar. +message TransferParameters { + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // The registrar that currently manages the domain. + string current_registrar = 2; + + // The name servers that currently store the configuration of the domain. + repeated string name_servers = 3; + + // Indicates whether the domain is protected by a transfer lock. For a + // transfer to succeed, this must show `UNLOCKED`. To unlock a domain, + // go to its current registrar. + TransferLockState transfer_lock_state = 4; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 5; + + // Price to transfer or renew the domain for one year. + google.type.Money yearly_price = 6; +} + +// Defines an authorization code. +message AuthorizationCode { + // The Authorization Code in ASCII. It can be used to transfer the domain + // to or from another registrar. + string code = 1; +} + +// Represents the metadata of the long-running operation. Output only. +message OperationMetadata { + // The time the operation was created. + google.protobuf.Timestamp create_time = 1; + + // The time the operation finished running. + google.protobuf.Timestamp end_time = 2; + + // Server-defined resource path for the target of the operation. + string target = 3; + + // Name of the verb executed by the operation. + string verb = 4; + + // Human-readable status of the operation, if any. + string status_detail = 5; + + // API version used to start the operation. + string api_version = 6; +} + +// Defines a set of possible contact privacy settings for a `Registration`. +// +// [ICANN](https://icann.org/) maintains the WHOIS database, a publicly +// accessible mapping from domain name to contact information, and requires that +// each domain name have an entry. Choose from these options to control how much +// information in your `ContactSettings` is published. +enum ContactPrivacy { + // The contact privacy settings are undefined. + CONTACT_PRIVACY_UNSPECIFIED = 0; + + // All the data from `ContactSettings` is publicly available. When setting + // this option, you must also provide a + // `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the + // request. + PUBLIC_CONTACT_DATA = 1; + + // None of the data from `ContactSettings` is publicly available. Instead, + // proxy contact data is published for your domain. Email sent to the proxy + // email address is forwarded to the registrant's email address. Cloud Domains + // provides this privacy proxy service at no additional cost. + PRIVATE_CONTACT_DATA = 2; + + // Some data from `ContactSettings` is publicly available. The actual + // information redacted depends on the domain. For details, see [the + // registration privacy + // article](https://support.google.com/domains/answer/3251242). + REDACTED_CONTACT_DATA = 3; +} + +// Notices about special properties of certain domains. +enum DomainNotice { + // The notice is undefined. + DOMAIN_NOTICE_UNSPECIFIED = 0; + + // Indicates that the domain is preloaded on the HTTP Strict Transport + // Security list in browsers. Serving a website on such domain requires + // an SSL certificate. For details, see + // [how to get an SSL + // certificate](https://support.google.com/domains/answer/7638036). + HSTS_PRELOADED = 1; +} + +// Notices related to contact information. +enum ContactNotice { + // The notice is undefined. + CONTACT_NOTICE_UNSPECIFIED = 0; + + // Required when setting the `privacy` field of `ContactSettings` to + // `PUBLIC_CONTACT_DATA`, which exposes contact data publicly. + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1; +} + +// Possible states of a `Registration`'s transfer lock. +enum TransferLockState { + // The state is unspecified. + TRANSFER_LOCK_STATE_UNSPECIFIED = 0; + + // The domain is unlocked and can be transferred to another registrar. + UNLOCKED = 1; + + // The domain is locked and cannot be transferred to another registrar. + LOCKED = 2; +} diff --git a/packages/google-cloud-domains/protos/google/cloud/domains/v1beta1/domains.proto b/packages/google-cloud-domains/protos/google/cloud/domains/v1beta1/domains.proto new file mode 100644 index 00000000000..062cdb067c1 --- /dev/null +++ b/packages/google-cloud-domains/protos/google/cloud/domains/v1beta1/domains.proto @@ -0,0 +1,1147 @@ +// Copyright 2021 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +syntax = "proto3"; + +package google.cloud.domains.v1beta1; + +import "google/api/annotations.proto"; +import "google/api/client.proto"; +import "google/api/field_behavior.proto"; +import "google/api/resource.proto"; +import "google/longrunning/operations.proto"; +import "google/protobuf/field_mask.proto"; +import "google/protobuf/timestamp.proto"; +import "google/type/money.proto"; +import "google/type/postal_address.proto"; + +option go_package = "google.golang.org/genproto/googleapis/cloud/domains/v1beta1;domains"; +option java_multiple_files = true; +option java_outer_classname = "DomainsProto"; +option java_package = "com.google.cloud.domains.v1beta1"; + +// The Cloud Domains API enables management and configuration of domain names. +service Domains { + option (google.api.default_host) = "domains.googleapis.com"; + option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/cloud-platform"; + + // Searches for available domain names similar to the provided query. + // + // Availability results from this method are approximate; call + // `RetrieveRegisterParameters` on a domain before registering to confirm + // availability. + rpc SearchDomains(SearchDomainsRequest) returns (SearchDomainsResponse) { + option (google.api.http) = { + get: "/v1beta1/{location=projects/*/locations/*}/registrations:searchDomains" + }; + option (google.api.method_signature) = "location,query"; + } + + // Gets parameters needed to register a new domain name, including price and + // up-to-date availability. Use the returned values to call `RegisterDomain`. + rpc RetrieveRegisterParameters(RetrieveRegisterParametersRequest) returns (RetrieveRegisterParametersResponse) { + option (google.api.http) = { + get: "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Registers a new domain name and creates a corresponding `Registration` + // resource. + // + // Call `RetrieveRegisterParameters` first to check availability of the domain + // name and determine parameters like price that are needed to build a call to + // this method. + // + // A successful call creates a `Registration` resource in state + // `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + // minutes, indicating that the domain was successfully registered. If the + // resource ends up in state `REGISTRATION_FAILED`, it indicates that the + // domain was not registered successfully, and you can safely delete the + // resource and retry registration. + rpc RegisterDomain(RegisterDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/registrations:register" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Gets parameters needed to transfer a domain name from another registrar to + // Cloud Domains. For domains managed by Google Domains, transferring to Cloud + // Domains is not supported. + // + // + // Use the returned values to call `TransferDomain`. + rpc RetrieveTransferParameters(RetrieveTransferParametersRequest) returns (RetrieveTransferParametersResponse) { + option (google.api.http) = { + get: "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + }; + option (google.api.method_signature) = "location,domain_name"; + } + + // Transfers a domain name from another registrar to Cloud Domains. For + // domains managed by Google Domains, transferring to Cloud Domains is not + // supported. + // + // + // Before calling this method, go to the domain's current registrar to unlock + // the domain for transfer and retrieve the domain's transfer authorization + // code. Then call `RetrieveTransferParameters` to confirm that the domain is + // unlocked and to get values needed to build a call to this method. + // + // A successful call creates a `Registration` resource in state + // `TRANSFER_PENDING`. It can take several days to complete the transfer + // process. The registrant can often speed up this process by approving the + // transfer through the current registrar, either by clicking a link in an + // email from the registrar or by visiting the registrar's website. + // + // A few minutes after transfer approval, the resource transitions to state + // `ACTIVE`, indicating that the transfer was successful. If the transfer is + // rejected or the request expires without being approved, the resource can + // end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + // the resource and retry the transfer. + rpc TransferDomain(TransferDomainRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{parent=projects/*/locations/*}/registrations:transfer" + body: "*" + }; + option (google.api.method_signature) = "parent,registration,yearly_price,authorization_code"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Lists the `Registration` resources in a project. + rpc ListRegistrations(ListRegistrationsRequest) returns (ListRegistrationsResponse) { + option (google.api.http) = { + get: "/v1beta1/{parent=projects/*/locations/*}/registrations" + }; + option (google.api.method_signature) = "parent"; + } + + // Gets the details of a `Registration` resource. + rpc GetRegistration(GetRegistrationRequest) returns (Registration) { + option (google.api.http) = { + get: "/v1beta1/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + } + + // Updates select fields of a `Registration` resource, notably `labels`. To + // update other fields, use the appropriate custom update method: + // + // * To update management settings, see `ConfigureManagementSettings` + // * To update DNS configuration, see `ConfigureDnsSettings` + // * To update contact information, see `ConfigureContactSettings` + rpc UpdateRegistration(UpdateRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + patch: "/v1beta1/{registration.name=projects/*/locations/*/registrations/*}" + body: "registration" + }; + option (google.api.method_signature) = "registration,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s management settings. + rpc ConfigureManagementSettings(ConfigureManagementSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,management_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s DNS settings. + rpc ConfigureDnsSettings(ConfigureDnsSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,dns_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Updates a `Registration`'s contact settings. Some changes require + // confirmation by the domain's registrant contact . + rpc ConfigureContactSettings(ConfigureContactSettingsRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings" + body: "*" + }; + option (google.api.method_signature) = "registration,contact_settings,update_mask"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Exports a `Registration` resource, such that it is no longer managed by + // Cloud Domains. + // + // When an active domain is successfully exported, you can continue to use the + // domain in [Google Domains](https://domains.google/) until it expires. The + // calling user becomes the domain's sole owner in Google Domains, and + // permissions for the domain are subsequently managed there. The domain does + // not renew automatically unless the new owner sets up billing in Google + // Domains. + rpc ExportRegistration(ExportRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + post: "/v1beta1/{name=projects/*/locations/*/registrations/*}:export" + body: "*" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "Registration" + metadata_type: "OperationMetadata" + }; + } + + // Deletes a `Registration` resource. + // + // This method works on any `Registration` resource using [Subscription or + // Commitment billing](/domains/pricing#billing-models), provided that the + // resource was created at least 1 day in the past. + // + // For `Registration` resources using + // [Monthly billing](/domains/pricing#billing-models), this method works if: + // + // * `state` is `EXPORTED` with `expire_time` in the past + // * `state` is `REGISTRATION_FAILED` + // * `state` is `TRANSFER_FAILED` + // + // When an active registration is successfully deleted, you can continue to + // use the domain in [Google Domains](https://domains.google/) until it + // expires. The calling user becomes the domain's sole owner in Google + // Domains, and permissions for the domain are subsequently managed there. The + // domain does not renew automatically unless the new owner sets up billing in + // Google Domains. + rpc DeleteRegistration(DeleteRegistrationRequest) returns (google.longrunning.Operation) { + option (google.api.http) = { + delete: "/v1beta1/{name=projects/*/locations/*/registrations/*}" + }; + option (google.api.method_signature) = "name"; + option (google.longrunning.operation_info) = { + response_type: "google.protobuf.Empty" + metadata_type: "OperationMetadata" + }; + } + + // Gets the authorization code of the `Registration` for the purpose of + // transferring the domain to another registrar. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc RetrieveAuthorizationCode(RetrieveAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + get: "/v1beta1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + }; + option (google.api.method_signature) = "registration"; + } + + // Resets the authorization code of the `Registration` to a new random string. + // + // You can call this method only after 60 days have elapsed since the initial + // domain registration. + rpc ResetAuthorizationCode(ResetAuthorizationCodeRequest) returns (AuthorizationCode) { + option (google.api.http) = { + post: "/v1beta1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode" + body: "*" + }; + option (google.api.method_signature) = "registration"; + } +} + +// The `Registration` resource facilitates managing and configuring domain name +// registrations. +// +// There are several ways to create a new `Registration` resource: +// +// To create a new `Registration` resource, find a suitable domain name by +// calling the `SearchDomains` method with a query to see available domain name +// options. After choosing a name, call `RetrieveRegisterParameters` to +// ensure availability and obtain information like pricing, which is needed to +// build a call to `RegisterDomain`. +// +// Another way to create a new `Registration` is to transfer an existing +// domain from another registrar. First, go to the current registrar to unlock +// the domain for transfer and retrieve the domain's transfer authorization +// code. Then call `RetrieveTransferParameters` to confirm that the domain is +// unlocked and to get values needed to build a call to `TransferDomain`. +message Registration { + option (google.api.resource) = { + type: "domains.googleapis.com/Registration" + pattern: "projects/{project}/locations/{location}/registrations/{registration}" + }; + + // Possible states of a `Registration`. + enum State { + // The state is undefined. + STATE_UNSPECIFIED = 0; + + // The domain is being registered. + REGISTRATION_PENDING = 1; + + // The domain registration failed. You can delete resources in this state + // to allow registration to be retried. + REGISTRATION_FAILED = 2; + + // The domain is being transferred from another registrar to Cloud Domains. + TRANSFER_PENDING = 3; + + // The attempt to transfer the domain from another registrar to + // Cloud Domains failed. You can delete resources in this state and retry + // the transfer. + TRANSFER_FAILED = 4; + + // The domain is registered and operational. The domain renews automatically + // as long as it remains in this state. + ACTIVE = 6; + + // The domain is suspended and inoperative. For more details, see the + // `issues` field. + SUSPENDED = 7; + + // The domain is no longer managed with Cloud Domains. It may have been + // transferred to another registrar or exported for management in + // [Google Domains](https://domains.google/). You can no longer update it + // with this API, and information shown about it may be stale. Domains in + // this state are not automatically renewed by Cloud Domains. + EXPORTED = 8; + } + + // Possible issues with a `Registration` that require attention. + enum Issue { + // The issue is undefined. + ISSUE_UNSPECIFIED = 0; + + // Contact the Cloud Support team to resolve a problem with this domain. + CONTACT_SUPPORT = 1; + + // [ICANN](https://icann.org/) requires verification of the email address + // in the `Registration`'s `contact_settings.registrant_contact` field. To + // verify the email address, follow the + // instructions in the email the `registrant_contact` receives following + // registration. If you do not complete email verification within + // 15 days of registration, the domain is suspended. To resend the + // verification email, call ConfigureContactSettings and provide the current + // `registrant_contact.email`. + UNVERIFIED_EMAIL = 2; + } + + // Output only. Name of the `Registration` resource, in the format + // `projects/*/locations/*/registrations/`. + string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. Immutable. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.field_behavior) = IMMUTABLE + ]; + + // Output only. The creation timestamp of the `Registration` resource. + google.protobuf.Timestamp create_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The expiration timestamp of the `Registration`. + google.protobuf.Timestamp expire_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The state of the `Registration` + State state = 7 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. The set of issues with the `Registration` that require attention. + repeated Issue issues = 8 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Set of labels associated with the `Registration`. + map labels = 9; + + // Settings for management of the `Registration`, including renewal, billing, + // and transfer. You cannot update these with the `UpdateRegistration` + // method. To update these settings, use the `ConfigureManagementSettings` + // method. + ManagementSettings management_settings = 10; + + // Settings controlling the DNS configuration of the `Registration`. You + // cannot update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureDnsSettings` method. + DnsSettings dns_settings = 11; + + // Required. Settings for contact information linked to the `Registration`. You cannot + // update these with the `UpdateRegistration` method. To update these + // settings, use the `ConfigureContactSettings` method. + ContactSettings contact_settings = 12 [(google.api.field_behavior) = REQUIRED]; + + // Output only. Pending contact settings for the `Registration`. Updates to the + // `contact_settings` field that change its `registrant_contact` or `privacy` + // fields require email confirmation by the `registrant_contact` + // before taking effect. This field is set only if there are pending updates + // to the `contact_settings` that have not been confirmed. To confirm the + // changes, the `registrant_contact` must follow the instructions in the + // email they receive. + ContactSettings pending_contact_settings = 13 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Output only. Set of options for the `contact_settings.privacy` field that this + // `Registration` supports. + repeated ContactPrivacy supported_privacy = 14 [(google.api.field_behavior) = OUTPUT_ONLY]; +} + +// Defines renewal, billing, and transfer settings for a `Registration`. +message ManagementSettings { + // Defines how the `Registration` is renewed. + enum RenewalMethod { + // The renewal method is undefined. + RENEWAL_METHOD_UNSPECIFIED = 0; + + // The domain is automatically renewed each year . + // + // To disable automatic renewals, delete the resource by calling + // `DeleteRegistration` or export it by calling `ExportRegistration`. + AUTOMATIC_RENEWAL = 1; + + // The domain must be explicitly renewed each year before its + // `expire_time`. This option is only available when the `Registration` + // is in state `EXPORTED`. + // + // To manage the domain's current billing and + // renewal settings, go to [Google Domains](https://domains.google/). + MANUAL_RENEWAL = 2; + } + + // Output only. The renewal method for this `Registration`. + RenewalMethod renewal_method = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Controls whether the domain can be transferred to another registrar. + TransferLockState transfer_lock_state = 4; +} + +// Defines the DNS configuration of a `Registration`, including name servers, +// DNSSEC, and glue records. +message DnsSettings { + // Configuration for an arbitrary DNS provider. + message CustomDns { + // Required. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. + repeated string name_servers = 1 [(google.api.field_behavior) = REQUIRED]; + + // The list of DS records for this domain, which are used to enable DNSSEC. + // The domain's DNS provider can provide the values to set here. If this + // field is empty, DNSSEC is disabled. + repeated DsRecord ds_records = 2; + } + + // Configuration for using the free DNS zone provided by Google Domains as a + // `Registration`'s `dns_provider`. You cannot configure the DNS zone itself + // using the API. To configure the DNS zone, go to + // [Google Domains](https://domains.google/). + message GoogleDomainsDns { + // Output only. A list of name servers that store the DNS zone for this domain. Each name + // server is a domain name, with Unicode domain names expressed in + // Punycode format. This field is automatically populated with the name + // servers assigned to the Google Domains DNS zone. + repeated string name_servers = 1 [(google.api.field_behavior) = OUTPUT_ONLY]; + + // Required. The state of DS records for this domain. Used to enable or disable + // automatic DNSSEC. + DsState ds_state = 2 [(google.api.field_behavior) = REQUIRED]; + + // Output only. The list of DS records published for this domain. The list is + // automatically populated when `ds_state` is `DS_RECORDS_PUBLISHED`, + // otherwise it remains empty. + repeated DsRecord ds_records = 3 [(google.api.field_behavior) = OUTPUT_ONLY]; + } + + // Defines a Delegation Signer (DS) record, which is needed to enable DNSSEC + // for a domain. It contains a digest (hash) of a DNSKEY record that must be + // present in the domain's DNS zone. + message DsRecord { + // List of algorithms used to create a DNSKEY. Certain + // algorithms are not supported for particular domains. + enum Algorithm { + // The algorithm is unspecified. + ALGORITHM_UNSPECIFIED = 0; + + // RSA/MD5. Cannot be used for new deployments. + RSAMD5 = 1; + + // Diffie-Hellman. Cannot be used for new deployments. + DH = 2; + + // DSA/SHA1. Not recommended for new deployments. + DSA = 3; + + // ECC. Not recommended for new deployments. + ECC = 4; + + // RSA/SHA-1. Not recommended for new deployments. + RSASHA1 = 5; + + // DSA-NSEC3-SHA1. Not recommended for new deployments. + DSANSEC3SHA1 = 6; + + // RSA/SHA1-NSEC3-SHA1. Not recommended for new deployments. + RSASHA1NSEC3SHA1 = 7; + + // RSA/SHA-256. + RSASHA256 = 8; + + // RSA/SHA-512. + RSASHA512 = 10; + + // GOST R 34.10-2001. + ECCGOST = 12; + + // ECDSA Curve P-256 with SHA-256. + ECDSAP256SHA256 = 13; + + // ECDSA Curve P-384 with SHA-384. + ECDSAP384SHA384 = 14; + + // Ed25519. + ED25519 = 15; + + // Ed448. + ED448 = 16; + + // Reserved for Indirect Keys. Cannot be used for new deployments. + INDIRECT = 252; + + // Private algorithm. Cannot be used for new deployments. + PRIVATEDNS = 253; + + // Private algorithm OID. Cannot be used for new deployments. + PRIVATEOID = 254; + } + + // List of hash functions that may have been used to generate a digest of a + // DNSKEY. + enum DigestType { + // The DigestType is unspecified. + DIGEST_TYPE_UNSPECIFIED = 0; + + // SHA-1. Not recommended for new deployments. + SHA1 = 1; + + // SHA-256. + SHA256 = 2; + + // GOST R 34.11-94. + GOST3411 = 3; + + // SHA-384. + SHA384 = 4; + } + + // The key tag of the record. Must be set in range 0 -- 65535. + int32 key_tag = 1; + + // The algorithm used to generate the referenced DNSKEY. + Algorithm algorithm = 2; + + // The hash function used to generate the digest of the referenced DNSKEY. + DigestType digest_type = 3; + + // The digest generated from the referenced DNSKEY. + string digest = 4; + } + + // Defines a host on your domain that is a DNS name server for your domain + // and/or other domains. Glue records are a way of making the IP address of a + // name server known, even when it serves DNS queries for its parent domain. + // For example, when `ns.example.com` is a name server for `example.com`, the + // host `ns.example.com` must have a glue record to break the circular DNS + // reference. + message GlueRecord { + // Required. Domain name of the host in Punycode format. + string host_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // List of IPv4 addresses corresponding to this host in the standard decimal + // format (e.g. `198.51.100.1`). At least one of `ipv4_address` and + // `ipv6_address` must be set. + repeated string ipv4_addresses = 2; + + // List of IPv6 addresses corresponding to this host in the standard + // hexadecimal format (e.g. `2001:db8::`). At least one of + // `ipv4_address` and `ipv6_address` must be set. + repeated string ipv6_addresses = 3; + } + + // The publication state of DS records for a `Registration`. + enum DsState { + // DS state is unspecified. + DS_STATE_UNSPECIFIED = 0; + + // DNSSEC is disabled for this domain. No DS records for this domain are + // published in the parent DNS zone. + DS_RECORDS_UNPUBLISHED = 1; + + // DNSSEC is enabled for this domain. Appropriate DS records for this domain + // are published in the parent DNS zone. This option is valid only if the + // DNS zone referenced in the `Registration`'s `dns_provider` field is + // already DNSSEC-signed. + DS_RECORDS_PUBLISHED = 2; + } + + // The DNS provider of the registration. + oneof dns_provider { + // An arbitrary DNS provider identified by its name servers. + CustomDns custom_dns = 1; + + // The free DNS zone provided by + // [Google Domains](https://domains.google/). + GoogleDomainsDns google_domains_dns = 2; + } + + // The list of glue records for this `Registration`. Commonly empty. + repeated GlueRecord glue_records = 4; +} + +// Defines the contact information associated with a `Registration`. +// +// [ICANN](https://icann.org/) requires all domain names to have associated +// contact information. The `registrant_contact` is considered the +// domain's legal owner, and often the other contacts are identical. +message ContactSettings { + // Details required for a contact associated with a `Registration`. + message Contact { + // Required. Postal address of the contact. + google.type.PostalAddress postal_address = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. Email address of the contact. + string email = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. Phone number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string phone_number = 3 [(google.api.field_behavior) = REQUIRED]; + + // Fax number of the contact in international format. For example, + // `"+1-800-555-0123"`. + string fax_number = 4; + } + + // Required. Privacy setting for the contacts associated with the `Registration`. + ContactPrivacy privacy = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The registrant contact for the `Registration`. + // + // *Caution: Anyone with access to this email address, phone number, + // and/or postal address can take control of the domain.* + // + // *Warning: For new `Registration`s, the registrant receives an email + // confirmation that they must complete within 15 days to avoid domain + // suspension.* + Contact registrant_contact = 2 [(google.api.field_behavior) = REQUIRED]; + + // Required. The administrative contact for the `Registration`. + Contact admin_contact = 3 [(google.api.field_behavior) = REQUIRED]; + + // Required. The technical contact for the `Registration`. + Contact technical_contact = 4 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `SearchDomains` method. +message SearchDomainsRequest { + // Required. String used to search for available domain names. + string query = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `SearchDomains` method. +message SearchDomainsResponse { + // Results of the domain name search. + repeated RegisterParameters register_parameters = 1; +} + +// Request for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveRegisterParameters` method. +message RetrieveRegisterParametersResponse { + // Parameters to use when calling the `RegisterDomain` method. + RegisterParameters register_parameters = 1; +} + +// Request for the `RegisterDomain` method. +message RegisterDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of domain notices that you acknowledge. Call + // `RetrieveRegisterParameters` to see the notices that need acknowledgement. + repeated DomainNotice domain_notices = 3; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Required. Yearly price to register or renew the domain. + // The value that should be put here can be obtained from + // RetrieveRegisterParameters or SearchDomains calls. + google.type.Money yearly_price = 5 [(google.api.field_behavior) = REQUIRED]; + + // When true, only validation is performed, without actually registering + // the domain. Follows: + // https://cloud.google.com/apis/design/design_patterns#request_validation + bool validate_only = 6; +} + +// Request for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersRequest { + // Required. The domain name. Unicode domain names must be expressed in Punycode format. + string domain_name = 1 [(google.api.field_behavior) = REQUIRED]; + + // Required. The location. Must be in the format `projects/*/locations/*`. + string location = 2 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; +} + +// Response for the `RetrieveTransferParameters` method. +message RetrieveTransferParametersResponse { + // Parameters to use when calling the `TransferDomain` method. + TransferParameters transfer_parameters = 1; +} + +// Request for the `TransferDomain` method. +message TransferDomainRequest { + // Required. The parent resource of the `Registration`. Must be in the + // format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Required. The complete `Registration` resource to be created. + // + // You can leave `registration.dns_settings` unset to import the + // domain's current DNS configuration from its current registrar. Use this + // option only if you are sure that the domain's current DNS service + // does not cease upon transfer, as is often the case for DNS services + // provided for free by the registrar. + Registration registration = 2 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that you acknowledge. The notices + // needed here depend on the values specified in + // `registration.contact_settings`. + repeated ContactNotice contact_notices = 3; + + // Required. Acknowledgement of the price to transfer or renew the domain for one year. + // Call `RetrieveTransferParameters` to obtain the price, which you must + // acknowledge. + google.type.Money yearly_price = 4 [(google.api.field_behavior) = REQUIRED]; + + // The domain's transfer authorization code. You can obtain this from the + // domain's current registrar. + AuthorizationCode authorization_code = 5; + + // Validate the request without actually transferring the domain. + bool validate_only = 6; +} + +// Request for the `ListRegistrations` method. +message ListRegistrationsRequest { + // Required. The project and location from which to list `Registration`s, specified in + // the format `projects/*/locations/*`. + string parent = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "locations.googleapis.com/Location" + } + ]; + + // Maximum number of results to return. + int32 page_size = 2; + + // When set to the `next_page_token` from a prior response, provides the next + // page of results. + string page_token = 3; + + // Filter expression to restrict the `Registration`s returned. + // + // The expression must specify the field name, a comparison operator, and the + // value that you want to use for filtering. The value must be a string, a + // number, a boolean, or an enum value. The comparison operator should be one + // of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + // + // For example, to filter to a specific domain name, use an expression like + // `domainName="example.com"`. You can also check for the existence of a + // field; for example, to find domains using custom DNS settings, use an + // expression like `dnsSettings.customDns:*`. + // + // You can also create compound filters by combining expressions with the + // `AND` and `OR` operators. For example, to find domains that are suspended + // or have specific issues flagged, use an expression like + // `(state=SUSPENDED) OR (issue:*)`. + string filter = 4; +} + +// Response for the `ListRegistrations` method. +message ListRegistrationsResponse { + // A list of `Registration`s. + repeated Registration registrations = 1; + + // When present, there are more results to retrieve. Set `page_token` to this + // value on a subsequent call to get the next page of results. + string next_page_token = 2; +} + +// Request for the `GetRegistration` method. +message GetRegistrationRequest { + // Required. The name of the `Registration` to get, in the format + // `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `UpdateRegistration` method. +message UpdateRegistrationRequest { + // Fields of the `Registration` to update. + Registration registration = 1; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the labels are being updated, the `update_mask` is + // `"labels"`. + google.protobuf.FieldMask update_mask = 2 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureManagementSettings` method. +message ConfigureManagementSettingsRequest { + // Required. The name of the `Registration` whose management settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ManagementSettings` to update. + ManagementSettings management_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the transfer lock is being updated, the `update_mask` + // is `"transfer_lock_state"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; +} + +// Request for the `ConfigureDnsSettings` method. +message ConfigureDnsSettingsRequest { + // Required. The name of the `Registration` whose DNS settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `DnsSettings` to update. + DnsSettings dns_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the name servers are being updated for an existing + // Custom DNS configuration, the `update_mask` is + // `"custom_dns.name_servers"`. + // + // When changing the DNS provider from one type to another, pass the new + // provider's field name as part of the field mask. For example, when changing + // from a Google Domains DNS configuration to a Custom DNS configuration, the + // `update_mask` is `"custom_dns"`. // + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // Validate the request without actually updating the DNS settings. + bool validate_only = 4; +} + +// Request for the `ConfigureContactSettings` method. +message ConfigureContactSettingsRequest { + // Required. The name of the `Registration` whose contact settings are being updated, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; + + // Fields of the `ContactSettings` to update. + ContactSettings contact_settings = 2; + + // Required. The field mask describing which fields to update as a comma-separated list. + // For example, if only the registrant contact is being updated, the + // `update_mask` is `"registrant_contact"`. + google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED]; + + // The list of contact notices that the caller acknowledges. The notices + // needed here depend on the values specified in `contact_settings`. + repeated ContactNotice contact_notices = 4; + + // Validate the request without actually updating the contact settings. + bool validate_only = 5; +} + +// Request for the `ExportRegistration` method. +message ExportRegistrationRequest { + // Required. The name of the `Registration` to export, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `DeleteRegistration` method. +message DeleteRegistrationRequest { + // Required. The name of the `Registration` to delete, + // in the format `projects/*/locations/*/registrations/*`. + string name = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `RetrieveAuthorizationCode` method. +message RetrieveAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being retrieved, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Request for the `ResetAuthorizationCode` method. +message ResetAuthorizationCodeRequest { + // Required. The name of the `Registration` whose authorization code is being reset, + // in the format `projects/*/locations/*/registrations/*`. + string registration = 1 [ + (google.api.field_behavior) = REQUIRED, + (google.api.resource_reference) = { + type: "domains.googleapis.com/Registration" + } + ]; +} + +// Parameters required to register a new domain. +message RegisterParameters { + // Possible availability states of a domain name. + enum Availability { + // The availability is unspecified. + AVAILABILITY_UNSPECIFIED = 0; + + // The domain is available for registration. + AVAILABLE = 1; + + // The domain is not available for registration. Generally this means it is + // already registered to another party. + UNAVAILABLE = 2; + + // The domain is not currently supported by Cloud Domains, but may + // be available elsewhere. + UNSUPPORTED = 3; + + // Cloud Domains is unable to determine domain availability, generally + // due to system maintenance at the domain name registry. + UNKNOWN = 4; + } + + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // Indicates whether the domain is available for registration. This value is + // accurate when obtained by calling `RetrieveRegisterParameters`, but is + // approximate when obtained by calling `SearchDomains`. + Availability availability = 2; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 3; + + // Notices about special properties of the domain. + repeated DomainNotice domain_notices = 4; + + // Price to register or renew the domain for one year. + google.type.Money yearly_price = 5; +} + +// Parameters required to transfer a domain from another registrar. +message TransferParameters { + // The domain name. Unicode domain names are expressed in Punycode format. + string domain_name = 1; + + // The registrar that currently manages the domain. + string current_registrar = 2; + + // The name servers that currently store the configuration of the domain. + repeated string name_servers = 3; + + // Indicates whether the domain is protected by a transfer lock. For a + // transfer to succeed, this must show `UNLOCKED`. To unlock a domain, + // go to its current registrar. + TransferLockState transfer_lock_state = 4; + + // Contact privacy options that the domain supports. + repeated ContactPrivacy supported_privacy = 5; + + // Price to transfer or renew the domain for one year. + google.type.Money yearly_price = 6; +} + +// Defines an authorization code. +message AuthorizationCode { + // The Authorization Code in ASCII. It can be used to transfer the domain + // to or from another registrar. + string code = 1; +} + +// Represents the metadata of the long-running operation. Output only. +message OperationMetadata { + // The time the operation was created. + google.protobuf.Timestamp create_time = 1; + + // The time the operation finished running. + google.protobuf.Timestamp end_time = 2; + + // Server-defined resource path for the target of the operation. + string target = 3; + + // Name of the verb executed by the operation. + string verb = 4; + + // Human-readable status of the operation, if any. + string status_detail = 5; + + // API version used to start the operation. + string api_version = 6; +} + +// Defines a set of possible contact privacy settings for a `Registration`. +// +// [ICANN](https://icann.org/) maintains the WHOIS database, a publicly +// accessible mapping from domain name to contact information, and requires that +// each domain name have an entry. Choose from these options to control how much +// information in your `ContactSettings` is published. +enum ContactPrivacy { + // The contact privacy settings are undefined. + CONTACT_PRIVACY_UNSPECIFIED = 0; + + // All the data from `ContactSettings` is publicly available. When setting + // this option, you must also provide a + // `PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT` in the `contact_notices` field of the + // request. + PUBLIC_CONTACT_DATA = 1; + + // None of the data from `ContactSettings` is publicly available. Instead, + // proxy contact data is published for your domain. Email sent to the proxy + // email address is forwarded to the registrant's email address. Cloud Domains + // provides this privacy proxy service at no additional cost. + PRIVATE_CONTACT_DATA = 2; + + // Some data from `ContactSettings` is publicly available. The actual + // information redacted depends on the domain. For details, see [the + // registration privacy + // article](https://support.google.com/domains/answer/3251242). + REDACTED_CONTACT_DATA = 3; +} + +// Notices about special properties of certain domains. +enum DomainNotice { + // The notice is undefined. + DOMAIN_NOTICE_UNSPECIFIED = 0; + + // Indicates that the domain is preloaded on the HTTP Strict Transport + // Security list in browsers. Serving a website on such domain requires + // an SSL certificate. For details, see + // [how to get an SSL + // certificate](https://support.google.com/domains/answer/7638036). + HSTS_PRELOADED = 1; +} + +// Notices related to contact information. +enum ContactNotice { + // The notice is undefined. + CONTACT_NOTICE_UNSPECIFIED = 0; + + // Required when setting the `privacy` field of `ContactSettings` to + // `PUBLIC_CONTACT_DATA`, which exposes contact data publicly. + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1; +} + +// Possible states of a `Registration`'s transfer lock. +enum TransferLockState { + // The state is unspecified. + TRANSFER_LOCK_STATE_UNSPECIFIED = 0; + + // The domain is unlocked and can be transferred to another registrar. + UNLOCKED = 1; + + // The domain is locked and cannot be transferred to another registrar. + LOCKED = 2; +} diff --git a/packages/google-cloud-domains/protos/protos.d.ts b/packages/google-cloud-domains/protos/protos.d.ts new file mode 100644 index 00000000000..41edb9f668c --- /dev/null +++ b/packages/google-cloud-domains/protos/protos.d.ts @@ -0,0 +1,17803 @@ +// Copyright 2022 Google LLC +// +// Licensed under the Apache License, Version 2.0 (the "License"); +// you may not use this file except in compliance with the License. +// You may obtain a copy of the License at +// +// http://www.apache.org/licenses/LICENSE-2.0 +// +// Unless required by applicable law or agreed to in writing, software +// distributed under the License is distributed on an "AS IS" BASIS, +// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. +// See the License for the specific language governing permissions and +// limitations under the License. + +import type {protobuf as $protobuf} from "google-gax"; +import Long = require("long"); +/** Namespace google. */ +export namespace google { + + /** Namespace cloud. */ + namespace cloud { + + /** Namespace domains. */ + namespace domains { + + /** Namespace v1. */ + namespace v1 { + + /** Represents a Domains */ + class Domains extends $protobuf.rpc.Service { + + /** + * Constructs a new Domains 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 Domains 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): Domains; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SearchDomainsResponse + */ + public searchDomains(request: google.cloud.domains.v1.ISearchDomainsRequest, callback: google.cloud.domains.v1.Domains.SearchDomainsCallback): void; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @returns Promise + */ + public searchDomains(request: google.cloud.domains.v1.ISearchDomainsRequest): Promise; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1.IRetrieveRegisterParametersRequest, callback: google.cloud.domains.v1.Domains.RetrieveRegisterParametersCallback): void; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @returns Promise + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1.IRetrieveRegisterParametersRequest): Promise; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public registerDomain(request: google.cloud.domains.v1.IRegisterDomainRequest, callback: google.cloud.domains.v1.Domains.RegisterDomainCallback): void; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @returns Promise + */ + public registerDomain(request: google.cloud.domains.v1.IRegisterDomainRequest): Promise; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + */ + public retrieveTransferParameters(request: google.cloud.domains.v1.IRetrieveTransferParametersRequest, callback: google.cloud.domains.v1.Domains.RetrieveTransferParametersCallback): void; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @returns Promise + */ + public retrieveTransferParameters(request: google.cloud.domains.v1.IRetrieveTransferParametersRequest): Promise; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public transferDomain(request: google.cloud.domains.v1.ITransferDomainRequest, callback: google.cloud.domains.v1.Domains.TransferDomainCallback): void; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @returns Promise + */ + public transferDomain(request: google.cloud.domains.v1.ITransferDomainRequest): Promise; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListRegistrationsResponse + */ + public listRegistrations(request: google.cloud.domains.v1.IListRegistrationsRequest, callback: google.cloud.domains.v1.Domains.ListRegistrationsCallback): void; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @returns Promise + */ + public listRegistrations(request: google.cloud.domains.v1.IListRegistrationsRequest): Promise; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Registration + */ + public getRegistration(request: google.cloud.domains.v1.IGetRegistrationRequest, callback: google.cloud.domains.v1.Domains.GetRegistrationCallback): void; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @returns Promise + */ + public getRegistration(request: google.cloud.domains.v1.IGetRegistrationRequest): Promise; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public updateRegistration(request: google.cloud.domains.v1.IUpdateRegistrationRequest, callback: google.cloud.domains.v1.Domains.UpdateRegistrationCallback): void; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @returns Promise + */ + public updateRegistration(request: google.cloud.domains.v1.IUpdateRegistrationRequest): Promise; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureManagementSettings(request: google.cloud.domains.v1.IConfigureManagementSettingsRequest, callback: google.cloud.domains.v1.Domains.ConfigureManagementSettingsCallback): void; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @returns Promise + */ + public configureManagementSettings(request: google.cloud.domains.v1.IConfigureManagementSettingsRequest): Promise; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureDnsSettings(request: google.cloud.domains.v1.IConfigureDnsSettingsRequest, callback: google.cloud.domains.v1.Domains.ConfigureDnsSettingsCallback): void; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @returns Promise + */ + public configureDnsSettings(request: google.cloud.domains.v1.IConfigureDnsSettingsRequest): Promise; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureContactSettings(request: google.cloud.domains.v1.IConfigureContactSettingsRequest, callback: google.cloud.domains.v1.Domains.ConfigureContactSettingsCallback): void; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @returns Promise + */ + public configureContactSettings(request: google.cloud.domains.v1.IConfigureContactSettingsRequest): Promise; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public exportRegistration(request: google.cloud.domains.v1.IExportRegistrationRequest, callback: google.cloud.domains.v1.Domains.ExportRegistrationCallback): void; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @returns Promise + */ + public exportRegistration(request: google.cloud.domains.v1.IExportRegistrationRequest): Promise; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public deleteRegistration(request: google.cloud.domains.v1.IDeleteRegistrationRequest, callback: google.cloud.domains.v1.Domains.DeleteRegistrationCallback): void; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @returns Promise + */ + public deleteRegistration(request: google.cloud.domains.v1.IDeleteRegistrationRequest): Promise; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, callback: google.cloud.domains.v1.Domains.RetrieveAuthorizationCodeCallback): void; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest): Promise; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public resetAuthorizationCode(request: google.cloud.domains.v1.IResetAuthorizationCodeRequest, callback: google.cloud.domains.v1.Domains.ResetAuthorizationCodeCallback): void; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public resetAuthorizationCode(request: google.cloud.domains.v1.IResetAuthorizationCodeRequest): Promise; + } + + namespace Domains { + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|searchDomains}. + * @param error Error, if any + * @param [response] SearchDomainsResponse + */ + type SearchDomainsCallback = (error: (Error|null), response?: google.cloud.domains.v1.SearchDomainsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveRegisterParameters}. + * @param error Error, if any + * @param [response] RetrieveRegisterParametersResponse + */ + type RetrieveRegisterParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1.RetrieveRegisterParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|registerDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type RegisterDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveTransferParameters}. + * @param error Error, if any + * @param [response] RetrieveTransferParametersResponse + */ + type RetrieveTransferParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1.RetrieveTransferParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|transferDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type TransferDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|listRegistrations}. + * @param error Error, if any + * @param [response] ListRegistrationsResponse + */ + type ListRegistrationsCallback = (error: (Error|null), response?: google.cloud.domains.v1.ListRegistrationsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|getRegistration}. + * @param error Error, if any + * @param [response] Registration + */ + type GetRegistrationCallback = (error: (Error|null), response?: google.cloud.domains.v1.Registration) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|updateRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type UpdateRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureManagementSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureManagementSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureDnsSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureDnsSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureContactSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureContactSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|exportRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type ExportRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|deleteRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type DeleteRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type RetrieveAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1.AuthorizationCode) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|resetAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type ResetAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1.AuthorizationCode) => void; + } + + /** Properties of a Registration. */ + interface IRegistration { + + /** Registration name */ + name?: (string|null); + + /** Registration domainName */ + domainName?: (string|null); + + /** Registration createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime */ + expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state */ + state?: (google.cloud.domains.v1.Registration.State|keyof typeof google.cloud.domains.v1.Registration.State|null); + + /** Registration issues */ + issues?: (google.cloud.domains.v1.Registration.Issue[]|null); + + /** Registration labels */ + labels?: ({ [k: string]: string }|null); + + /** Registration managementSettings */ + managementSettings?: (google.cloud.domains.v1.IManagementSettings|null); + + /** Registration dnsSettings */ + dnsSettings?: (google.cloud.domains.v1.IDnsSettings|null); + + /** Registration contactSettings */ + contactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** Registration pendingContactSettings */ + pendingContactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** Registration supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1.ContactPrivacy[]|null); + } + + /** Represents a Registration. */ + class Registration implements IRegistration { + + /** + * Constructs a new Registration. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRegistration); + + /** Registration name. */ + public name: string; + + /** Registration domainName. */ + public domainName: string; + + /** Registration createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime. */ + public expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state. */ + public state: (google.cloud.domains.v1.Registration.State|keyof typeof google.cloud.domains.v1.Registration.State); + + /** Registration issues. */ + public issues: google.cloud.domains.v1.Registration.Issue[]; + + /** Registration labels. */ + public labels: { [k: string]: string }; + + /** Registration managementSettings. */ + public managementSettings?: (google.cloud.domains.v1.IManagementSettings|null); + + /** Registration dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1.IDnsSettings|null); + + /** Registration contactSettings. */ + public contactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** Registration pendingContactSettings. */ + public pendingContactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** Registration supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1.ContactPrivacy[]; + + /** + * Creates a new Registration instance using the specified properties. + * @param [properties] Properties to set + * @returns Registration instance + */ + public static create(properties?: google.cloud.domains.v1.IRegistration): google.cloud.domains.v1.Registration; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.Registration; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.Registration; + + /** + * Verifies a Registration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Registration + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.Registration; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @param message Registration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.Registration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Registration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Registration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Registration { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + REGISTRATION_PENDING = 1, + REGISTRATION_FAILED = 2, + TRANSFER_PENDING = 3, + TRANSFER_FAILED = 4, + ACTIVE = 6, + SUSPENDED = 7, + EXPORTED = 8 + } + + /** Issue enum. */ + enum Issue { + ISSUE_UNSPECIFIED = 0, + CONTACT_SUPPORT = 1, + UNVERIFIED_EMAIL = 2 + } + } + + /** Properties of a ManagementSettings. */ + interface IManagementSettings { + + /** ManagementSettings renewalMethod */ + renewalMethod?: (google.cloud.domains.v1.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1.ManagementSettings.RenewalMethod|null); + + /** ManagementSettings transferLockState */ + transferLockState?: (google.cloud.domains.v1.TransferLockState|keyof typeof google.cloud.domains.v1.TransferLockState|null); + } + + /** Represents a ManagementSettings. */ + class ManagementSettings implements IManagementSettings { + + /** + * Constructs a new ManagementSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IManagementSettings); + + /** ManagementSettings renewalMethod. */ + public renewalMethod: (google.cloud.domains.v1.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1.ManagementSettings.RenewalMethod); + + /** ManagementSettings transferLockState. */ + public transferLockState: (google.cloud.domains.v1.TransferLockState|keyof typeof google.cloud.domains.v1.TransferLockState); + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ManagementSettings instance + */ + public static create(properties?: google.cloud.domains.v1.IManagementSettings): google.cloud.domains.v1.ManagementSettings; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ManagementSettings; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ManagementSettings; + + /** + * Verifies a ManagementSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ManagementSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ManagementSettings; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @param message ManagementSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ManagementSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ManagementSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ManagementSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ManagementSettings { + + /** RenewalMethod enum. */ + enum RenewalMethod { + RENEWAL_METHOD_UNSPECIFIED = 0, + AUTOMATIC_RENEWAL = 1, + MANUAL_RENEWAL = 2 + } + } + + /** Properties of a DnsSettings. */ + interface IDnsSettings { + + /** DnsSettings customDns */ + customDns?: (google.cloud.domains.v1.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns */ + googleDomainsDns?: (google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords */ + glueRecords?: (google.cloud.domains.v1.DnsSettings.IGlueRecord[]|null); + } + + /** Represents a DnsSettings. */ + class DnsSettings implements IDnsSettings { + + /** + * Constructs a new DnsSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IDnsSettings); + + /** DnsSettings customDns. */ + public customDns?: (google.cloud.domains.v1.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns. */ + public googleDomainsDns?: (google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords. */ + public glueRecords: google.cloud.domains.v1.DnsSettings.IGlueRecord[]; + + /** DnsSettings dnsProvider. */ + public dnsProvider?: ("customDns"|"googleDomainsDns"); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DnsSettings instance + */ + public static create(properties?: google.cloud.domains.v1.IDnsSettings): google.cloud.domains.v1.DnsSettings; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DnsSettings; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DnsSettings; + + /** + * Verifies a DnsSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DnsSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DnsSettings; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @param message DnsSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DnsSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DnsSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DnsSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DnsSettings { + + /** Properties of a CustomDns. */ + interface ICustomDns { + + /** CustomDns nameServers */ + nameServers?: (string[]|null); + + /** CustomDns dsRecords */ + dsRecords?: (google.cloud.domains.v1.DnsSettings.IDsRecord[]|null); + } + + /** Represents a CustomDns. */ + class CustomDns implements ICustomDns { + + /** + * Constructs a new CustomDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.DnsSettings.ICustomDns); + + /** CustomDns nameServers. */ + public nameServers: string[]; + + /** CustomDns dsRecords. */ + public dsRecords: google.cloud.domains.v1.DnsSettings.IDsRecord[]; + + /** + * Creates a new CustomDns instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomDns instance + */ + public static create(properties?: google.cloud.domains.v1.DnsSettings.ICustomDns): google.cloud.domains.v1.DnsSettings.CustomDns; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DnsSettings.CustomDns; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DnsSettings.CustomDns; + + /** + * Verifies a CustomDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DnsSettings.CustomDns; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @param message CustomDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DnsSettings.CustomDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GoogleDomainsDns. */ + interface IGoogleDomainsDns { + + /** GoogleDomainsDns nameServers */ + nameServers?: (string[]|null); + + /** GoogleDomainsDns dsState */ + dsState?: (google.cloud.domains.v1.DnsSettings.DsState|keyof typeof google.cloud.domains.v1.DnsSettings.DsState|null); + + /** GoogleDomainsDns dsRecords */ + dsRecords?: (google.cloud.domains.v1.DnsSettings.IDsRecord[]|null); + } + + /** Represents a GoogleDomainsDns. */ + class GoogleDomainsDns implements IGoogleDomainsDns { + + /** + * Constructs a new GoogleDomainsDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns); + + /** GoogleDomainsDns nameServers. */ + public nameServers: string[]; + + /** GoogleDomainsDns dsState. */ + public dsState: (google.cloud.domains.v1.DnsSettings.DsState|keyof typeof google.cloud.domains.v1.DnsSettings.DsState); + + /** GoogleDomainsDns dsRecords. */ + public dsRecords: google.cloud.domains.v1.DnsSettings.IDsRecord[]; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @param [properties] Properties to set + * @returns GoogleDomainsDns instance + */ + public static create(properties?: google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns): google.cloud.domains.v1.DnsSettings.GoogleDomainsDns; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DnsSettings.GoogleDomainsDns; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DnsSettings.GoogleDomainsDns; + + /** + * Verifies a GoogleDomainsDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GoogleDomainsDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DnsSettings.GoogleDomainsDns; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @param message GoogleDomainsDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DnsSettings.GoogleDomainsDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GoogleDomainsDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DsRecord. */ + interface IDsRecord { + + /** DsRecord keyTag */ + keyTag?: (number|null); + + /** DsRecord algorithm */ + algorithm?: (google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm|null); + + /** DsRecord digestType */ + digestType?: (google.cloud.domains.v1.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1.DnsSettings.DsRecord.DigestType|null); + + /** DsRecord digest */ + digest?: (string|null); + } + + /** Represents a DsRecord. */ + class DsRecord implements IDsRecord { + + /** + * Constructs a new DsRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.DnsSettings.IDsRecord); + + /** DsRecord keyTag. */ + public keyTag: number; + + /** DsRecord algorithm. */ + public algorithm: (google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm); + + /** DsRecord digestType. */ + public digestType: (google.cloud.domains.v1.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1.DnsSettings.DsRecord.DigestType); + + /** DsRecord digest. */ + public digest: string; + + /** + * Creates a new DsRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns DsRecord instance + */ + public static create(properties?: google.cloud.domains.v1.DnsSettings.IDsRecord): google.cloud.domains.v1.DnsSettings.DsRecord; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DnsSettings.DsRecord; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DnsSettings.DsRecord; + + /** + * Verifies a DsRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DsRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DnsSettings.DsRecord; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @param message DsRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DnsSettings.DsRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DsRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DsRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DsRecord { + + /** Algorithm enum. */ + enum Algorithm { + ALGORITHM_UNSPECIFIED = 0, + RSAMD5 = 1, + DH = 2, + DSA = 3, + ECC = 4, + RSASHA1 = 5, + DSANSEC3SHA1 = 6, + RSASHA1NSEC3SHA1 = 7, + RSASHA256 = 8, + RSASHA512 = 10, + ECCGOST = 12, + ECDSAP256SHA256 = 13, + ECDSAP384SHA384 = 14, + ED25519 = 15, + ED448 = 16, + INDIRECT = 252, + PRIVATEDNS = 253, + PRIVATEOID = 254 + } + + /** DigestType enum. */ + enum DigestType { + DIGEST_TYPE_UNSPECIFIED = 0, + SHA1 = 1, + SHA256 = 2, + GOST3411 = 3, + SHA384 = 4 + } + } + + /** Properties of a GlueRecord. */ + interface IGlueRecord { + + /** GlueRecord hostName */ + hostName?: (string|null); + + /** GlueRecord ipv4Addresses */ + ipv4Addresses?: (string[]|null); + + /** GlueRecord ipv6Addresses */ + ipv6Addresses?: (string[]|null); + } + + /** Represents a GlueRecord. */ + class GlueRecord implements IGlueRecord { + + /** + * Constructs a new GlueRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.DnsSettings.IGlueRecord); + + /** GlueRecord hostName. */ + public hostName: string; + + /** GlueRecord ipv4Addresses. */ + public ipv4Addresses: string[]; + + /** GlueRecord ipv6Addresses. */ + public ipv6Addresses: string[]; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns GlueRecord instance + */ + public static create(properties?: google.cloud.domains.v1.DnsSettings.IGlueRecord): google.cloud.domains.v1.DnsSettings.GlueRecord; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DnsSettings.GlueRecord; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DnsSettings.GlueRecord; + + /** + * Verifies a GlueRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GlueRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DnsSettings.GlueRecord; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @param message GlueRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DnsSettings.GlueRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GlueRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GlueRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** DsState enum. */ + enum DsState { + DS_STATE_UNSPECIFIED = 0, + DS_RECORDS_UNPUBLISHED = 1, + DS_RECORDS_PUBLISHED = 2 + } + } + + /** Properties of a ContactSettings. */ + interface IContactSettings { + + /** ContactSettings privacy */ + privacy?: (google.cloud.domains.v1.ContactPrivacy|keyof typeof google.cloud.domains.v1.ContactPrivacy|null); + + /** ContactSettings registrantContact */ + registrantContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + + /** ContactSettings adminContact */ + adminContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + + /** ContactSettings technicalContact */ + technicalContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + } + + /** Represents a ContactSettings. */ + class ContactSettings implements IContactSettings { + + /** + * Constructs a new ContactSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IContactSettings); + + /** ContactSettings privacy. */ + public privacy: (google.cloud.domains.v1.ContactPrivacy|keyof typeof google.cloud.domains.v1.ContactPrivacy); + + /** ContactSettings registrantContact. */ + public registrantContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + + /** ContactSettings adminContact. */ + public adminContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + + /** ContactSettings technicalContact. */ + public technicalContact?: (google.cloud.domains.v1.ContactSettings.IContact|null); + + /** + * Creates a new ContactSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ContactSettings instance + */ + public static create(properties?: google.cloud.domains.v1.IContactSettings): google.cloud.domains.v1.ContactSettings; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ContactSettings; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ContactSettings; + + /** + * Verifies a ContactSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ContactSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ContactSettings; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @param message ContactSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ContactSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ContactSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ContactSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ContactSettings { + + /** Properties of a Contact. */ + interface IContact { + + /** Contact postalAddress */ + postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email */ + email?: (string|null); + + /** Contact phoneNumber */ + phoneNumber?: (string|null); + + /** Contact faxNumber */ + faxNumber?: (string|null); + } + + /** Represents a Contact. */ + class Contact implements IContact { + + /** + * Constructs a new Contact. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.ContactSettings.IContact); + + /** Contact postalAddress. */ + public postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email. */ + public email: string; + + /** Contact phoneNumber. */ + public phoneNumber: string; + + /** Contact faxNumber. */ + public faxNumber: string; + + /** + * Creates a new Contact instance using the specified properties. + * @param [properties] Properties to set + * @returns Contact instance + */ + public static create(properties?: google.cloud.domains.v1.ContactSettings.IContact): google.cloud.domains.v1.ContactSettings.Contact; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ContactSettings.Contact; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ContactSettings.Contact; + + /** + * Verifies a Contact message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Contact + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ContactSettings.Contact; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @param message Contact + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ContactSettings.Contact, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Contact to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Contact + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SearchDomainsRequest. */ + interface ISearchDomainsRequest { + + /** SearchDomainsRequest query */ + query?: (string|null); + + /** SearchDomainsRequest location */ + location?: (string|null); + } + + /** Represents a SearchDomainsRequest. */ + class SearchDomainsRequest implements ISearchDomainsRequest { + + /** + * Constructs a new SearchDomainsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.ISearchDomainsRequest); + + /** SearchDomainsRequest query. */ + public query: string; + + /** SearchDomainsRequest location. */ + public location: string; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsRequest instance + */ + public static create(properties?: google.cloud.domains.v1.ISearchDomainsRequest): google.cloud.domains.v1.SearchDomainsRequest; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.SearchDomainsRequest; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.SearchDomainsRequest; + + /** + * Verifies a SearchDomainsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.SearchDomainsRequest; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @param message SearchDomainsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.SearchDomainsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SearchDomainsResponse. */ + interface ISearchDomainsResponse { + + /** SearchDomainsResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1.IRegisterParameters[]|null); + } + + /** Represents a SearchDomainsResponse. */ + class SearchDomainsResponse implements ISearchDomainsResponse { + + /** + * Constructs a new SearchDomainsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.ISearchDomainsResponse); + + /** SearchDomainsResponse registerParameters. */ + public registerParameters: google.cloud.domains.v1.IRegisterParameters[]; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsResponse instance + */ + public static create(properties?: google.cloud.domains.v1.ISearchDomainsResponse): google.cloud.domains.v1.SearchDomainsResponse; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.SearchDomainsResponse; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.SearchDomainsResponse; + + /** + * Verifies a SearchDomainsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.SearchDomainsResponse; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @param message SearchDomainsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.SearchDomainsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersRequest. */ + interface IRetrieveRegisterParametersRequest { + + /** RetrieveRegisterParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveRegisterParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveRegisterParametersRequest. */ + class RetrieveRegisterParametersRequest implements IRetrieveRegisterParametersRequest { + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRetrieveRegisterParametersRequest); + + /** RetrieveRegisterParametersRequest domainName. */ + public domainName: string; + + /** RetrieveRegisterParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IRetrieveRegisterParametersRequest): google.cloud.domains.v1.RetrieveRegisterParametersRequest; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RetrieveRegisterParametersRequest; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RetrieveRegisterParametersRequest; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RetrieveRegisterParametersRequest; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RetrieveRegisterParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersResponse. */ + interface IRetrieveRegisterParametersResponse { + + /** RetrieveRegisterParametersResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1.IRegisterParameters|null); + } + + /** Represents a RetrieveRegisterParametersResponse. */ + class RetrieveRegisterParametersResponse implements IRetrieveRegisterParametersResponse { + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRetrieveRegisterParametersResponse); + + /** RetrieveRegisterParametersResponse registerParameters. */ + public registerParameters?: (google.cloud.domains.v1.IRegisterParameters|null); + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1.IRetrieveRegisterParametersResponse): google.cloud.domains.v1.RetrieveRegisterParametersResponse; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RetrieveRegisterParametersResponse; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RetrieveRegisterParametersResponse; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RetrieveRegisterParametersResponse; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RetrieveRegisterParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterDomainRequest. */ + interface IRegisterDomainRequest { + + /** RegisterDomainRequest parent */ + parent?: (string|null); + + /** RegisterDomainRequest registration */ + registration?: (google.cloud.domains.v1.IRegistration|null); + + /** RegisterDomainRequest domainNotices */ + domainNotices?: (google.cloud.domains.v1.DomainNotice[]|null); + + /** RegisterDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1.ContactNotice[]|null); + + /** RegisterDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a RegisterDomainRequest. */ + class RegisterDomainRequest implements IRegisterDomainRequest { + + /** + * Constructs a new RegisterDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRegisterDomainRequest); + + /** RegisterDomainRequest parent. */ + public parent: string; + + /** RegisterDomainRequest registration. */ + public registration?: (google.cloud.domains.v1.IRegistration|null); + + /** RegisterDomainRequest domainNotices. */ + public domainNotices: google.cloud.domains.v1.DomainNotice[]; + + /** RegisterDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1.ContactNotice[]; + + /** RegisterDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IRegisterDomainRequest): google.cloud.domains.v1.RegisterDomainRequest; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RegisterDomainRequest; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RegisterDomainRequest; + + /** + * Verifies a RegisterDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RegisterDomainRequest; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @param message RegisterDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RegisterDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersRequest. */ + interface IRetrieveTransferParametersRequest { + + /** RetrieveTransferParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveTransferParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveTransferParametersRequest. */ + class RetrieveTransferParametersRequest implements IRetrieveTransferParametersRequest { + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRetrieveTransferParametersRequest); + + /** RetrieveTransferParametersRequest domainName. */ + public domainName: string; + + /** RetrieveTransferParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IRetrieveTransferParametersRequest): google.cloud.domains.v1.RetrieveTransferParametersRequest; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RetrieveTransferParametersRequest; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RetrieveTransferParametersRequest; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RetrieveTransferParametersRequest; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RetrieveTransferParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersResponse. */ + interface IRetrieveTransferParametersResponse { + + /** RetrieveTransferParametersResponse transferParameters */ + transferParameters?: (google.cloud.domains.v1.ITransferParameters|null); + } + + /** Represents a RetrieveTransferParametersResponse. */ + class RetrieveTransferParametersResponse implements IRetrieveTransferParametersResponse { + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRetrieveTransferParametersResponse); + + /** RetrieveTransferParametersResponse transferParameters. */ + public transferParameters?: (google.cloud.domains.v1.ITransferParameters|null); + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1.IRetrieveTransferParametersResponse): google.cloud.domains.v1.RetrieveTransferParametersResponse; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RetrieveTransferParametersResponse; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RetrieveTransferParametersResponse; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RetrieveTransferParametersResponse; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RetrieveTransferParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a TransferDomainRequest. */ + interface ITransferDomainRequest { + + /** TransferDomainRequest parent */ + parent?: (string|null); + + /** TransferDomainRequest registration */ + registration?: (google.cloud.domains.v1.IRegistration|null); + + /** TransferDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1.ContactNotice[]|null); + + /** TransferDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode */ + authorizationCode?: (google.cloud.domains.v1.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a TransferDomainRequest. */ + class TransferDomainRequest implements ITransferDomainRequest { + + /** + * Constructs a new TransferDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.ITransferDomainRequest); + + /** TransferDomainRequest parent. */ + public parent: string; + + /** TransferDomainRequest registration. */ + public registration?: (google.cloud.domains.v1.IRegistration|null); + + /** TransferDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1.ContactNotice[]; + + /** TransferDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode. */ + public authorizationCode?: (google.cloud.domains.v1.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1.ITransferDomainRequest): google.cloud.domains.v1.TransferDomainRequest; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.TransferDomainRequest; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.TransferDomainRequest; + + /** + * Verifies a TransferDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.TransferDomainRequest; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @param message TransferDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.TransferDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsRequest. */ + interface IListRegistrationsRequest { + + /** ListRegistrationsRequest parent */ + parent?: (string|null); + + /** ListRegistrationsRequest pageSize */ + pageSize?: (number|null); + + /** ListRegistrationsRequest pageToken */ + pageToken?: (string|null); + + /** ListRegistrationsRequest filter */ + filter?: (string|null); + } + + /** Represents a ListRegistrationsRequest. */ + class ListRegistrationsRequest implements IListRegistrationsRequest { + + /** + * Constructs a new ListRegistrationsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IListRegistrationsRequest); + + /** ListRegistrationsRequest parent. */ + public parent: string; + + /** ListRegistrationsRequest pageSize. */ + public pageSize: number; + + /** ListRegistrationsRequest pageToken. */ + public pageToken: string; + + /** ListRegistrationsRequest filter. */ + public filter: string; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IListRegistrationsRequest): google.cloud.domains.v1.ListRegistrationsRequest; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ListRegistrationsRequest; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ListRegistrationsRequest; + + /** + * Verifies a ListRegistrationsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ListRegistrationsRequest; + + /** + * Creates a plain object from a ListRegistrationsRequest message. Also converts values to other types if specified. + * @param message ListRegistrationsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ListRegistrationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsResponse. */ + interface IListRegistrationsResponse { + + /** ListRegistrationsResponse registrations */ + registrations?: (google.cloud.domains.v1.IRegistration[]|null); + + /** ListRegistrationsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListRegistrationsResponse. */ + class ListRegistrationsResponse implements IListRegistrationsResponse { + + /** + * Constructs a new ListRegistrationsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IListRegistrationsResponse); + + /** ListRegistrationsResponse registrations. */ + public registrations: google.cloud.domains.v1.IRegistration[]; + + /** ListRegistrationsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsResponse instance + */ + public static create(properties?: google.cloud.domains.v1.IListRegistrationsResponse): google.cloud.domains.v1.ListRegistrationsResponse; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ListRegistrationsResponse; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ListRegistrationsResponse; + + /** + * Verifies a ListRegistrationsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ListRegistrationsResponse; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @param message ListRegistrationsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ListRegistrationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetRegistrationRequest. */ + interface IGetRegistrationRequest { + + /** GetRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a GetRegistrationRequest. */ + class GetRegistrationRequest implements IGetRegistrationRequest { + + /** + * Constructs a new GetRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IGetRegistrationRequest); + + /** GetRegistrationRequest name. */ + public name: string; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IGetRegistrationRequest): google.cloud.domains.v1.GetRegistrationRequest; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.GetRegistrationRequest; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.GetRegistrationRequest; + + /** + * Verifies a GetRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.GetRegistrationRequest; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @param message GetRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.GetRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateRegistrationRequest. */ + interface IUpdateRegistrationRequest { + + /** UpdateRegistrationRequest registration */ + registration?: (google.cloud.domains.v1.IRegistration|null); + + /** UpdateRegistrationRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateRegistrationRequest. */ + class UpdateRegistrationRequest implements IUpdateRegistrationRequest { + + /** + * Constructs a new UpdateRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IUpdateRegistrationRequest); + + /** UpdateRegistrationRequest registration. */ + public registration?: (google.cloud.domains.v1.IRegistration|null); + + /** UpdateRegistrationRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IUpdateRegistrationRequest): google.cloud.domains.v1.UpdateRegistrationRequest; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.UpdateRegistrationRequest; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.UpdateRegistrationRequest; + + /** + * Verifies an UpdateRegistrationRequest message. + * @param message Plain 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 UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.UpdateRegistrationRequest; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @param message UpdateRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.UpdateRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureManagementSettingsRequest. */ + interface IConfigureManagementSettingsRequest { + + /** ConfigureManagementSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureManagementSettingsRequest managementSettings */ + managementSettings?: (google.cloud.domains.v1.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents a ConfigureManagementSettingsRequest. */ + class ConfigureManagementSettingsRequest implements IConfigureManagementSettingsRequest { + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IConfigureManagementSettingsRequest); + + /** ConfigureManagementSettingsRequest registration. */ + public registration: string; + + /** ConfigureManagementSettingsRequest managementSettings. */ + public managementSettings?: (google.cloud.domains.v1.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureManagementSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IConfigureManagementSettingsRequest): google.cloud.domains.v1.ConfigureManagementSettingsRequest; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ConfigureManagementSettingsRequest; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ConfigureManagementSettingsRequest; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureManagementSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ConfigureManagementSettingsRequest; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureManagementSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ConfigureManagementSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureDnsSettingsRequest. */ + interface IConfigureDnsSettingsRequest { + + /** ConfigureDnsSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureDnsSettingsRequest dnsSettings */ + dnsSettings?: (google.cloud.domains.v1.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureDnsSettingsRequest. */ + class ConfigureDnsSettingsRequest implements IConfigureDnsSettingsRequest { + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IConfigureDnsSettingsRequest); + + /** ConfigureDnsSettingsRequest registration. */ + public registration: string; + + /** ConfigureDnsSettingsRequest dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureDnsSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IConfigureDnsSettingsRequest): google.cloud.domains.v1.ConfigureDnsSettingsRequest; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ConfigureDnsSettingsRequest; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ConfigureDnsSettingsRequest; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureDnsSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ConfigureDnsSettingsRequest; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureDnsSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ConfigureDnsSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureContactSettingsRequest. */ + interface IConfigureContactSettingsRequest { + + /** ConfigureContactSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureContactSettingsRequest contactSettings */ + contactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1.ContactNotice[]|null); + + /** ConfigureContactSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureContactSettingsRequest. */ + class ConfigureContactSettingsRequest implements IConfigureContactSettingsRequest { + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IConfigureContactSettingsRequest); + + /** ConfigureContactSettingsRequest registration. */ + public registration: string; + + /** ConfigureContactSettingsRequest contactSettings. */ + public contactSettings?: (google.cloud.domains.v1.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1.ContactNotice[]; + + /** ConfigureContactSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureContactSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IConfigureContactSettingsRequest): google.cloud.domains.v1.ConfigureContactSettingsRequest; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ConfigureContactSettingsRequest; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ConfigureContactSettingsRequest; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureContactSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ConfigureContactSettingsRequest; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureContactSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ConfigureContactSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ExportRegistrationRequest. */ + interface IExportRegistrationRequest { + + /** ExportRegistrationRequest name */ + name?: (string|null); + } + + /** Represents an ExportRegistrationRequest. */ + class ExportRegistrationRequest implements IExportRegistrationRequest { + + /** + * Constructs a new ExportRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IExportRegistrationRequest); + + /** ExportRegistrationRequest name. */ + public name: string; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ExportRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IExportRegistrationRequest): google.cloud.domains.v1.ExportRegistrationRequest; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ExportRegistrationRequest; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ExportRegistrationRequest; + + /** + * Verifies an ExportRegistrationRequest message. + * @param message Plain 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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExportRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ExportRegistrationRequest; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @param message ExportRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ExportRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExportRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteRegistrationRequest. */ + interface IDeleteRegistrationRequest { + + /** DeleteRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a DeleteRegistrationRequest. */ + class DeleteRegistrationRequest implements IDeleteRegistrationRequest { + + /** + * Constructs a new DeleteRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IDeleteRegistrationRequest); + + /** DeleteRegistrationRequest name. */ + public name: string; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IDeleteRegistrationRequest): google.cloud.domains.v1.DeleteRegistrationRequest; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.DeleteRegistrationRequest; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.DeleteRegistrationRequest; + + /** + * Verifies a DeleteRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.DeleteRegistrationRequest; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @param message DeleteRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.DeleteRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveAuthorizationCodeRequest. */ + interface IRetrieveAuthorizationCodeRequest { + + /** RetrieveAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a RetrieveAuthorizationCodeRequest. */ + class RetrieveAuthorizationCodeRequest implements IRetrieveAuthorizationCodeRequest { + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest); + + /** RetrieveAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest): google.cloud.domains.v1.RetrieveAuthorizationCodeRequest; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RetrieveAuthorizationCodeRequest; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RetrieveAuthorizationCodeRequest; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RetrieveAuthorizationCodeRequest; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message RetrieveAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RetrieveAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ResetAuthorizationCodeRequest. */ + interface IResetAuthorizationCodeRequest { + + /** ResetAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a ResetAuthorizationCodeRequest. */ + class ResetAuthorizationCodeRequest implements IResetAuthorizationCodeRequest { + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IResetAuthorizationCodeRequest); + + /** ResetAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ResetAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1.IResetAuthorizationCodeRequest): google.cloud.domains.v1.ResetAuthorizationCodeRequest; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.ResetAuthorizationCodeRequest; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.ResetAuthorizationCodeRequest; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResetAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.ResetAuthorizationCodeRequest; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message ResetAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.ResetAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterParameters. */ + interface IRegisterParameters { + + /** RegisterParameters domainName */ + domainName?: (string|null); + + /** RegisterParameters availability */ + availability?: (google.cloud.domains.v1.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1.RegisterParameters.Availability|null); + + /** RegisterParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1.ContactPrivacy[]|null); + + /** RegisterParameters domainNotices */ + domainNotices?: (google.cloud.domains.v1.DomainNotice[]|null); + + /** RegisterParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a RegisterParameters. */ + class RegisterParameters implements IRegisterParameters { + + /** + * Constructs a new RegisterParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IRegisterParameters); + + /** RegisterParameters domainName. */ + public domainName: string; + + /** RegisterParameters availability. */ + public availability: (google.cloud.domains.v1.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1.RegisterParameters.Availability); + + /** RegisterParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1.ContactPrivacy[]; + + /** RegisterParameters domainNotices. */ + public domainNotices: google.cloud.domains.v1.DomainNotice[]; + + /** RegisterParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterParameters instance + */ + public static create(properties?: google.cloud.domains.v1.IRegisterParameters): google.cloud.domains.v1.RegisterParameters; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.RegisterParameters; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.RegisterParameters; + + /** + * Verifies a RegisterParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.RegisterParameters; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @param message RegisterParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.RegisterParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace RegisterParameters { + + /** Availability enum. */ + enum Availability { + AVAILABILITY_UNSPECIFIED = 0, + AVAILABLE = 1, + UNAVAILABLE = 2, + UNSUPPORTED = 3, + UNKNOWN = 4 + } + } + + /** Properties of a TransferParameters. */ + interface ITransferParameters { + + /** TransferParameters domainName */ + domainName?: (string|null); + + /** TransferParameters currentRegistrar */ + currentRegistrar?: (string|null); + + /** TransferParameters nameServers */ + nameServers?: (string[]|null); + + /** TransferParameters transferLockState */ + transferLockState?: (google.cloud.domains.v1.TransferLockState|keyof typeof google.cloud.domains.v1.TransferLockState|null); + + /** TransferParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1.ContactPrivacy[]|null); + + /** TransferParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a TransferParameters. */ + class TransferParameters implements ITransferParameters { + + /** + * Constructs a new TransferParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.ITransferParameters); + + /** TransferParameters domainName. */ + public domainName: string; + + /** TransferParameters currentRegistrar. */ + public currentRegistrar: string; + + /** TransferParameters nameServers. */ + public nameServers: string[]; + + /** TransferParameters transferLockState. */ + public transferLockState: (google.cloud.domains.v1.TransferLockState|keyof typeof google.cloud.domains.v1.TransferLockState); + + /** TransferParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1.ContactPrivacy[]; + + /** TransferParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new TransferParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferParameters instance + */ + public static create(properties?: google.cloud.domains.v1.ITransferParameters): google.cloud.domains.v1.TransferParameters; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.TransferParameters; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.TransferParameters; + + /** + * Verifies a TransferParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.TransferParameters; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @param message TransferParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.TransferParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthorizationCode. */ + interface IAuthorizationCode { + + /** AuthorizationCode code */ + code?: (string|null); + } + + /** Represents an AuthorizationCode. */ + class AuthorizationCode implements IAuthorizationCode { + + /** + * Constructs a new AuthorizationCode. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IAuthorizationCode); + + /** AuthorizationCode code. */ + public code: string; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthorizationCode instance + */ + public static create(properties?: google.cloud.domains.v1.IAuthorizationCode): google.cloud.domains.v1.AuthorizationCode; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.AuthorizationCode; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.AuthorizationCode; + + /** + * Verifies an AuthorizationCode message. + * @param message Plain 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 AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthorizationCode + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.AuthorizationCode; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @param message AuthorizationCode + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1.AuthorizationCode, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthorizationCode to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthorizationCode + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target */ + target?: (string|null); + + /** OperationMetadata verb */ + verb?: (string|null); + + /** OperationMetadata statusDetail */ + statusDetail?: (string|null); + + /** OperationMetadata apiVersion */ + apiVersion?: (string|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1.IOperationMetadata); + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target. */ + public target: string; + + /** OperationMetadata verb. */ + public verb: string; + + /** OperationMetadata statusDetail. */ + public statusDetail: string; + + /** OperationMetadata apiVersion. */ + public apiVersion: string; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.domains.v1.IOperationMetadata): google.cloud.domains.v1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.v1.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.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; + } + + /** ContactPrivacy enum. */ + enum ContactPrivacy { + CONTACT_PRIVACY_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA = 1, + PRIVATE_CONTACT_DATA = 2, + REDACTED_CONTACT_DATA = 3 + } + + /** DomainNotice enum. */ + enum DomainNotice { + DOMAIN_NOTICE_UNSPECIFIED = 0, + HSTS_PRELOADED = 1 + } + + /** ContactNotice enum. */ + enum ContactNotice { + CONTACT_NOTICE_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1 + } + + /** TransferLockState enum. */ + enum TransferLockState { + TRANSFER_LOCK_STATE_UNSPECIFIED = 0, + UNLOCKED = 1, + LOCKED = 2 + } + } + + /** Namespace v1alpha2. */ + namespace v1alpha2 { + + /** Represents a Domains */ + class Domains extends $protobuf.rpc.Service { + + /** + * Constructs a new Domains 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 Domains 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): Domains; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SearchDomainsResponse + */ + public searchDomains(request: google.cloud.domains.v1alpha2.ISearchDomainsRequest, callback: google.cloud.domains.v1alpha2.Domains.SearchDomainsCallback): void; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @returns Promise + */ + public searchDomains(request: google.cloud.domains.v1alpha2.ISearchDomainsRequest): Promise; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, callback: google.cloud.domains.v1alpha2.Domains.RetrieveRegisterParametersCallback): void; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @returns Promise + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest): Promise; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public registerDomain(request: google.cloud.domains.v1alpha2.IRegisterDomainRequest, callback: google.cloud.domains.v1alpha2.Domains.RegisterDomainCallback): void; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @returns Promise + */ + public registerDomain(request: google.cloud.domains.v1alpha2.IRegisterDomainRequest): Promise; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + */ + public retrieveTransferParameters(request: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, callback: google.cloud.domains.v1alpha2.Domains.RetrieveTransferParametersCallback): void; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @returns Promise + */ + public retrieveTransferParameters(request: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest): Promise; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public transferDomain(request: google.cloud.domains.v1alpha2.ITransferDomainRequest, callback: google.cloud.domains.v1alpha2.Domains.TransferDomainCallback): void; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @returns Promise + */ + public transferDomain(request: google.cloud.domains.v1alpha2.ITransferDomainRequest): Promise; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListRegistrationsResponse + */ + public listRegistrations(request: google.cloud.domains.v1alpha2.IListRegistrationsRequest, callback: google.cloud.domains.v1alpha2.Domains.ListRegistrationsCallback): void; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @returns Promise + */ + public listRegistrations(request: google.cloud.domains.v1alpha2.IListRegistrationsRequest): Promise; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Registration + */ + public getRegistration(request: google.cloud.domains.v1alpha2.IGetRegistrationRequest, callback: google.cloud.domains.v1alpha2.Domains.GetRegistrationCallback): void; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @returns Promise + */ + public getRegistration(request: google.cloud.domains.v1alpha2.IGetRegistrationRequest): Promise; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public updateRegistration(request: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, callback: google.cloud.domains.v1alpha2.Domains.UpdateRegistrationCallback): void; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @returns Promise + */ + public updateRegistration(request: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest): Promise; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureManagementSettings(request: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, callback: google.cloud.domains.v1alpha2.Domains.ConfigureManagementSettingsCallback): void; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @returns Promise + */ + public configureManagementSettings(request: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest): Promise; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureDnsSettings(request: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, callback: google.cloud.domains.v1alpha2.Domains.ConfigureDnsSettingsCallback): void; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @returns Promise + */ + public configureDnsSettings(request: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest): Promise; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureContactSettings(request: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, callback: google.cloud.domains.v1alpha2.Domains.ConfigureContactSettingsCallback): void; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @returns Promise + */ + public configureContactSettings(request: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest): Promise; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public exportRegistration(request: google.cloud.domains.v1alpha2.IExportRegistrationRequest, callback: google.cloud.domains.v1alpha2.Domains.ExportRegistrationCallback): void; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @returns Promise + */ + public exportRegistration(request: google.cloud.domains.v1alpha2.IExportRegistrationRequest): Promise; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public deleteRegistration(request: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, callback: google.cloud.domains.v1alpha2.Domains.DeleteRegistrationCallback): void; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @returns Promise + */ + public deleteRegistration(request: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest): Promise; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, callback: google.cloud.domains.v1alpha2.Domains.RetrieveAuthorizationCodeCallback): void; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest): Promise; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public resetAuthorizationCode(request: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, callback: google.cloud.domains.v1alpha2.Domains.ResetAuthorizationCodeCallback): void; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public resetAuthorizationCode(request: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest): Promise; + } + + namespace Domains { + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|searchDomains}. + * @param error Error, if any + * @param [response] SearchDomainsResponse + */ + type SearchDomainsCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.SearchDomainsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveRegisterParameters}. + * @param error Error, if any + * @param [response] RetrieveRegisterParametersResponse + */ + type RetrieveRegisterParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|registerDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type RegisterDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveTransferParameters}. + * @param error Error, if any + * @param [response] RetrieveTransferParametersResponse + */ + type RetrieveTransferParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|transferDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type TransferDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|listRegistrations}. + * @param error Error, if any + * @param [response] ListRegistrationsResponse + */ + type ListRegistrationsCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.ListRegistrationsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|getRegistration}. + * @param error Error, if any + * @param [response] Registration + */ + type GetRegistrationCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.Registration) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|updateRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type UpdateRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureManagementSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureManagementSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureDnsSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureDnsSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureContactSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureContactSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|exportRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type ExportRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|deleteRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type DeleteRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type RetrieveAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.AuthorizationCode) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|resetAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type ResetAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1alpha2.AuthorizationCode) => void; + } + + /** Properties of a Registration. */ + interface IRegistration { + + /** Registration name */ + name?: (string|null); + + /** Registration domainName */ + domainName?: (string|null); + + /** Registration createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime */ + expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state */ + state?: (google.cloud.domains.v1alpha2.Registration.State|keyof typeof google.cloud.domains.v1alpha2.Registration.State|null); + + /** Registration issues */ + issues?: (google.cloud.domains.v1alpha2.Registration.Issue[]|null); + + /** Registration labels */ + labels?: ({ [k: string]: string }|null); + + /** Registration managementSettings */ + managementSettings?: (google.cloud.domains.v1alpha2.IManagementSettings|null); + + /** Registration dnsSettings */ + dnsSettings?: (google.cloud.domains.v1alpha2.IDnsSettings|null); + + /** Registration contactSettings */ + contactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** Registration pendingContactSettings */ + pendingContactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** Registration supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1alpha2.ContactPrivacy[]|null); + } + + /** Represents a Registration. */ + class Registration implements IRegistration { + + /** + * Constructs a new Registration. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRegistration); + + /** Registration name. */ + public name: string; + + /** Registration domainName. */ + public domainName: string; + + /** Registration createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime. */ + public expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state. */ + public state: (google.cloud.domains.v1alpha2.Registration.State|keyof typeof google.cloud.domains.v1alpha2.Registration.State); + + /** Registration issues. */ + public issues: google.cloud.domains.v1alpha2.Registration.Issue[]; + + /** Registration labels. */ + public labels: { [k: string]: string }; + + /** Registration managementSettings. */ + public managementSettings?: (google.cloud.domains.v1alpha2.IManagementSettings|null); + + /** Registration dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1alpha2.IDnsSettings|null); + + /** Registration contactSettings. */ + public contactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** Registration pendingContactSettings. */ + public pendingContactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** Registration supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1alpha2.ContactPrivacy[]; + + /** + * Creates a new Registration instance using the specified properties. + * @param [properties] Properties to set + * @returns Registration instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRegistration): google.cloud.domains.v1alpha2.Registration; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1alpha2.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.Registration; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.Registration; + + /** + * Verifies a Registration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Registration + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.Registration; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @param message Registration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.Registration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Registration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Registration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Registration { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + REGISTRATION_PENDING = 1, + REGISTRATION_FAILED = 2, + TRANSFER_PENDING = 3, + TRANSFER_FAILED = 4, + ACTIVE = 6, + SUSPENDED = 7, + EXPORTED = 8 + } + + /** Issue enum. */ + enum Issue { + ISSUE_UNSPECIFIED = 0, + CONTACT_SUPPORT = 1, + UNVERIFIED_EMAIL = 2 + } + } + + /** Properties of a ManagementSettings. */ + interface IManagementSettings { + + /** ManagementSettings renewalMethod */ + renewalMethod?: (google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod|null); + + /** ManagementSettings transferLockState */ + transferLockState?: (google.cloud.domains.v1alpha2.TransferLockState|keyof typeof google.cloud.domains.v1alpha2.TransferLockState|null); + } + + /** Represents a ManagementSettings. */ + class ManagementSettings implements IManagementSettings { + + /** + * Constructs a new ManagementSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IManagementSettings); + + /** ManagementSettings renewalMethod. */ + public renewalMethod: (google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod); + + /** ManagementSettings transferLockState. */ + public transferLockState: (google.cloud.domains.v1alpha2.TransferLockState|keyof typeof google.cloud.domains.v1alpha2.TransferLockState); + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ManagementSettings instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IManagementSettings): google.cloud.domains.v1alpha2.ManagementSettings; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ManagementSettings; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ManagementSettings; + + /** + * Verifies a ManagementSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ManagementSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ManagementSettings; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @param message ManagementSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ManagementSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ManagementSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ManagementSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ManagementSettings { + + /** RenewalMethod enum. */ + enum RenewalMethod { + RENEWAL_METHOD_UNSPECIFIED = 0, + AUTOMATIC_RENEWAL = 1, + MANUAL_RENEWAL = 2 + } + } + + /** Properties of a DnsSettings. */ + interface IDnsSettings { + + /** DnsSettings customDns */ + customDns?: (google.cloud.domains.v1alpha2.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns */ + googleDomainsDns?: (google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords */ + glueRecords?: (google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord[]|null); + } + + /** Represents a DnsSettings. */ + class DnsSettings implements IDnsSettings { + + /** + * Constructs a new DnsSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IDnsSettings); + + /** DnsSettings customDns. */ + public customDns?: (google.cloud.domains.v1alpha2.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns. */ + public googleDomainsDns?: (google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords. */ + public glueRecords: google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord[]; + + /** DnsSettings dnsProvider. */ + public dnsProvider?: ("customDns"|"googleDomainsDns"); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DnsSettings instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IDnsSettings): google.cloud.domains.v1alpha2.DnsSettings; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DnsSettings; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DnsSettings; + + /** + * Verifies a DnsSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DnsSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DnsSettings; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @param message DnsSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DnsSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DnsSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DnsSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DnsSettings { + + /** Properties of a CustomDns. */ + interface ICustomDns { + + /** CustomDns nameServers */ + nameServers?: (string[]|null); + + /** CustomDns dsRecords */ + dsRecords?: (google.cloud.domains.v1alpha2.DnsSettings.IDsRecord[]|null); + } + + /** Represents a CustomDns. */ + class CustomDns implements ICustomDns { + + /** + * Constructs a new CustomDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.DnsSettings.ICustomDns); + + /** CustomDns nameServers. */ + public nameServers: string[]; + + /** CustomDns dsRecords. */ + public dsRecords: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord[]; + + /** + * Creates a new CustomDns instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomDns instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.DnsSettings.ICustomDns): google.cloud.domains.v1alpha2.DnsSettings.CustomDns; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DnsSettings.CustomDns; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DnsSettings.CustomDns; + + /** + * Verifies a CustomDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DnsSettings.CustomDns; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @param message CustomDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DnsSettings.CustomDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GoogleDomainsDns. */ + interface IGoogleDomainsDns { + + /** GoogleDomainsDns nameServers */ + nameServers?: (string[]|null); + + /** GoogleDomainsDns dsState */ + dsState?: (google.cloud.domains.v1alpha2.DnsSettings.DsState|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsState|null); + + /** GoogleDomainsDns dsRecords */ + dsRecords?: (google.cloud.domains.v1alpha2.DnsSettings.IDsRecord[]|null); + } + + /** Represents a GoogleDomainsDns. */ + class GoogleDomainsDns implements IGoogleDomainsDns { + + /** + * Constructs a new GoogleDomainsDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns); + + /** GoogleDomainsDns nameServers. */ + public nameServers: string[]; + + /** GoogleDomainsDns dsState. */ + public dsState: (google.cloud.domains.v1alpha2.DnsSettings.DsState|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsState); + + /** GoogleDomainsDns dsRecords. */ + public dsRecords: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord[]; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @param [properties] Properties to set + * @returns GoogleDomainsDns instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns): google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns; + + /** + * Verifies a GoogleDomainsDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GoogleDomainsDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @param message GoogleDomainsDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GoogleDomainsDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DsRecord. */ + interface IDsRecord { + + /** DsRecord keyTag */ + keyTag?: (number|null); + + /** DsRecord algorithm */ + algorithm?: (google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm|null); + + /** DsRecord digestType */ + digestType?: (google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType|null); + + /** DsRecord digest */ + digest?: (string|null); + } + + /** Represents a DsRecord. */ + class DsRecord implements IDsRecord { + + /** + * Constructs a new DsRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord); + + /** DsRecord keyTag. */ + public keyTag: number; + + /** DsRecord algorithm. */ + public algorithm: (google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm); + + /** DsRecord digestType. */ + public digestType: (google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType); + + /** DsRecord digest. */ + public digest: string; + + /** + * Creates a new DsRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns DsRecord instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord): google.cloud.domains.v1alpha2.DnsSettings.DsRecord; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DnsSettings.DsRecord; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DnsSettings.DsRecord; + + /** + * Verifies a DsRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DsRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DnsSettings.DsRecord; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @param message DsRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DnsSettings.DsRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DsRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DsRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DsRecord { + + /** Algorithm enum. */ + enum Algorithm { + ALGORITHM_UNSPECIFIED = 0, + RSAMD5 = 1, + DH = 2, + DSA = 3, + ECC = 4, + RSASHA1 = 5, + DSANSEC3SHA1 = 6, + RSASHA1NSEC3SHA1 = 7, + RSASHA256 = 8, + RSASHA512 = 10, + ECCGOST = 12, + ECDSAP256SHA256 = 13, + ECDSAP384SHA384 = 14, + ED25519 = 15, + ED448 = 16, + INDIRECT = 252, + PRIVATEDNS = 253, + PRIVATEOID = 254 + } + + /** DigestType enum. */ + enum DigestType { + DIGEST_TYPE_UNSPECIFIED = 0, + SHA1 = 1, + SHA256 = 2, + GOST3411 = 3, + SHA384 = 4 + } + } + + /** Properties of a GlueRecord. */ + interface IGlueRecord { + + /** GlueRecord hostName */ + hostName?: (string|null); + + /** GlueRecord ipv4Addresses */ + ipv4Addresses?: (string[]|null); + + /** GlueRecord ipv6Addresses */ + ipv6Addresses?: (string[]|null); + } + + /** Represents a GlueRecord. */ + class GlueRecord implements IGlueRecord { + + /** + * Constructs a new GlueRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord); + + /** GlueRecord hostName. */ + public hostName: string; + + /** GlueRecord ipv4Addresses. */ + public ipv4Addresses: string[]; + + /** GlueRecord ipv6Addresses. */ + public ipv6Addresses: string[]; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns GlueRecord instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord): google.cloud.domains.v1alpha2.DnsSettings.GlueRecord; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DnsSettings.GlueRecord; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DnsSettings.GlueRecord; + + /** + * Verifies a GlueRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GlueRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DnsSettings.GlueRecord; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @param message GlueRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DnsSettings.GlueRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GlueRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GlueRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** DsState enum. */ + enum DsState { + DS_STATE_UNSPECIFIED = 0, + DS_RECORDS_UNPUBLISHED = 1, + DS_RECORDS_PUBLISHED = 2 + } + } + + /** Properties of a ContactSettings. */ + interface IContactSettings { + + /** ContactSettings privacy */ + privacy?: (google.cloud.domains.v1alpha2.ContactPrivacy|keyof typeof google.cloud.domains.v1alpha2.ContactPrivacy|null); + + /** ContactSettings registrantContact */ + registrantContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + + /** ContactSettings adminContact */ + adminContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + + /** ContactSettings technicalContact */ + technicalContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + } + + /** Represents a ContactSettings. */ + class ContactSettings implements IContactSettings { + + /** + * Constructs a new ContactSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IContactSettings); + + /** ContactSettings privacy. */ + public privacy: (google.cloud.domains.v1alpha2.ContactPrivacy|keyof typeof google.cloud.domains.v1alpha2.ContactPrivacy); + + /** ContactSettings registrantContact. */ + public registrantContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + + /** ContactSettings adminContact. */ + public adminContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + + /** ContactSettings technicalContact. */ + public technicalContact?: (google.cloud.domains.v1alpha2.ContactSettings.IContact|null); + + /** + * Creates a new ContactSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ContactSettings instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IContactSettings): google.cloud.domains.v1alpha2.ContactSettings; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ContactSettings; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ContactSettings; + + /** + * Verifies a ContactSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ContactSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ContactSettings; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @param message ContactSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ContactSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ContactSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ContactSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ContactSettings { + + /** Properties of a Contact. */ + interface IContact { + + /** Contact postalAddress */ + postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email */ + email?: (string|null); + + /** Contact phoneNumber */ + phoneNumber?: (string|null); + + /** Contact faxNumber */ + faxNumber?: (string|null); + } + + /** Represents a Contact. */ + class Contact implements IContact { + + /** + * Constructs a new Contact. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.ContactSettings.IContact); + + /** Contact postalAddress. */ + public postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email. */ + public email: string; + + /** Contact phoneNumber. */ + public phoneNumber: string; + + /** Contact faxNumber. */ + public faxNumber: string; + + /** + * Creates a new Contact instance using the specified properties. + * @param [properties] Properties to set + * @returns Contact instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.ContactSettings.IContact): google.cloud.domains.v1alpha2.ContactSettings.Contact; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ContactSettings.Contact; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ContactSettings.Contact; + + /** + * Verifies a Contact message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Contact + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ContactSettings.Contact; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @param message Contact + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ContactSettings.Contact, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Contact to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Contact + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SearchDomainsRequest. */ + interface ISearchDomainsRequest { + + /** SearchDomainsRequest query */ + query?: (string|null); + + /** SearchDomainsRequest location */ + location?: (string|null); + } + + /** Represents a SearchDomainsRequest. */ + class SearchDomainsRequest implements ISearchDomainsRequest { + + /** + * Constructs a new SearchDomainsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.ISearchDomainsRequest); + + /** SearchDomainsRequest query. */ + public query: string; + + /** SearchDomainsRequest location. */ + public location: string; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.ISearchDomainsRequest): google.cloud.domains.v1alpha2.SearchDomainsRequest; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.SearchDomainsRequest; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.SearchDomainsRequest; + + /** + * Verifies a SearchDomainsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.SearchDomainsRequest; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @param message SearchDomainsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.SearchDomainsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SearchDomainsResponse. */ + interface ISearchDomainsResponse { + + /** SearchDomainsResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1alpha2.IRegisterParameters[]|null); + } + + /** Represents a SearchDomainsResponse. */ + class SearchDomainsResponse implements ISearchDomainsResponse { + + /** + * Constructs a new SearchDomainsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.ISearchDomainsResponse); + + /** SearchDomainsResponse registerParameters. */ + public registerParameters: google.cloud.domains.v1alpha2.IRegisterParameters[]; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsResponse instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.ISearchDomainsResponse): google.cloud.domains.v1alpha2.SearchDomainsResponse; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.SearchDomainsResponse; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.SearchDomainsResponse; + + /** + * Verifies a SearchDomainsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.SearchDomainsResponse; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @param message SearchDomainsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.SearchDomainsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersRequest. */ + interface IRetrieveRegisterParametersRequest { + + /** RetrieveRegisterParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveRegisterParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveRegisterParametersRequest. */ + class RetrieveRegisterParametersRequest implements IRetrieveRegisterParametersRequest { + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest); + + /** RetrieveRegisterParametersRequest domainName. */ + public domainName: string; + + /** RetrieveRegisterParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest): google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersResponse. */ + interface IRetrieveRegisterParametersResponse { + + /** RetrieveRegisterParametersResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1alpha2.IRegisterParameters|null); + } + + /** Represents a RetrieveRegisterParametersResponse. */ + class RetrieveRegisterParametersResponse implements IRetrieveRegisterParametersResponse { + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse); + + /** RetrieveRegisterParametersResponse registerParameters. */ + public registerParameters?: (google.cloud.domains.v1alpha2.IRegisterParameters|null); + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse): google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterDomainRequest. */ + interface IRegisterDomainRequest { + + /** RegisterDomainRequest parent */ + parent?: (string|null); + + /** RegisterDomainRequest registration */ + registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** RegisterDomainRequest domainNotices */ + domainNotices?: (google.cloud.domains.v1alpha2.DomainNotice[]|null); + + /** RegisterDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1alpha2.ContactNotice[]|null); + + /** RegisterDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a RegisterDomainRequest. */ + class RegisterDomainRequest implements IRegisterDomainRequest { + + /** + * Constructs a new RegisterDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRegisterDomainRequest); + + /** RegisterDomainRequest parent. */ + public parent: string; + + /** RegisterDomainRequest registration. */ + public registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** RegisterDomainRequest domainNotices. */ + public domainNotices: google.cloud.domains.v1alpha2.DomainNotice[]; + + /** RegisterDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1alpha2.ContactNotice[]; + + /** RegisterDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRegisterDomainRequest): google.cloud.domains.v1alpha2.RegisterDomainRequest; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RegisterDomainRequest; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RegisterDomainRequest; + + /** + * Verifies a RegisterDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RegisterDomainRequest; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @param message RegisterDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RegisterDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersRequest. */ + interface IRetrieveTransferParametersRequest { + + /** RetrieveTransferParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveTransferParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveTransferParametersRequest. */ + class RetrieveTransferParametersRequest implements IRetrieveTransferParametersRequest { + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest); + + /** RetrieveTransferParametersRequest domainName. */ + public domainName: string; + + /** RetrieveTransferParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest): google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersResponse. */ + interface IRetrieveTransferParametersResponse { + + /** RetrieveTransferParametersResponse transferParameters */ + transferParameters?: (google.cloud.domains.v1alpha2.ITransferParameters|null); + } + + /** Represents a RetrieveTransferParametersResponse. */ + class RetrieveTransferParametersResponse implements IRetrieveTransferParametersResponse { + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse); + + /** RetrieveTransferParametersResponse transferParameters. */ + public transferParameters?: (google.cloud.domains.v1alpha2.ITransferParameters|null); + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse): google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a TransferDomainRequest. */ + interface ITransferDomainRequest { + + /** TransferDomainRequest parent */ + parent?: (string|null); + + /** TransferDomainRequest registration */ + registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** TransferDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1alpha2.ContactNotice[]|null); + + /** TransferDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode */ + authorizationCode?: (google.cloud.domains.v1alpha2.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a TransferDomainRequest. */ + class TransferDomainRequest implements ITransferDomainRequest { + + /** + * Constructs a new TransferDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.ITransferDomainRequest); + + /** TransferDomainRequest parent. */ + public parent: string; + + /** TransferDomainRequest registration. */ + public registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** TransferDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1alpha2.ContactNotice[]; + + /** TransferDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode. */ + public authorizationCode?: (google.cloud.domains.v1alpha2.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.ITransferDomainRequest): google.cloud.domains.v1alpha2.TransferDomainRequest; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.TransferDomainRequest; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.TransferDomainRequest; + + /** + * Verifies a TransferDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.TransferDomainRequest; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @param message TransferDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.TransferDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsRequest. */ + interface IListRegistrationsRequest { + + /** ListRegistrationsRequest parent */ + parent?: (string|null); + + /** ListRegistrationsRequest pageSize */ + pageSize?: (number|null); + + /** ListRegistrationsRequest pageToken */ + pageToken?: (string|null); + + /** ListRegistrationsRequest filter */ + filter?: (string|null); + } + + /** Represents a ListRegistrationsRequest. */ + class ListRegistrationsRequest implements IListRegistrationsRequest { + + /** + * Constructs a new ListRegistrationsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IListRegistrationsRequest); + + /** ListRegistrationsRequest parent. */ + public parent: string; + + /** ListRegistrationsRequest pageSize. */ + public pageSize: number; + + /** ListRegistrationsRequest pageToken. */ + public pageToken: string; + + /** ListRegistrationsRequest filter. */ + public filter: string; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IListRegistrationsRequest): google.cloud.domains.v1alpha2.ListRegistrationsRequest; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ListRegistrationsRequest; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ListRegistrationsRequest; + + /** + * Verifies a ListRegistrationsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ListRegistrationsRequest; + + /** + * Creates a plain object from a ListRegistrationsRequest message. Also converts values to other types if specified. + * @param message ListRegistrationsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ListRegistrationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsResponse. */ + interface IListRegistrationsResponse { + + /** ListRegistrationsResponse registrations */ + registrations?: (google.cloud.domains.v1alpha2.IRegistration[]|null); + + /** ListRegistrationsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListRegistrationsResponse. */ + class ListRegistrationsResponse implements IListRegistrationsResponse { + + /** + * Constructs a new ListRegistrationsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IListRegistrationsResponse); + + /** ListRegistrationsResponse registrations. */ + public registrations: google.cloud.domains.v1alpha2.IRegistration[]; + + /** ListRegistrationsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsResponse instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IListRegistrationsResponse): google.cloud.domains.v1alpha2.ListRegistrationsResponse; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ListRegistrationsResponse; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ListRegistrationsResponse; + + /** + * Verifies a ListRegistrationsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ListRegistrationsResponse; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @param message ListRegistrationsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ListRegistrationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetRegistrationRequest. */ + interface IGetRegistrationRequest { + + /** GetRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a GetRegistrationRequest. */ + class GetRegistrationRequest implements IGetRegistrationRequest { + + /** + * Constructs a new GetRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IGetRegistrationRequest); + + /** GetRegistrationRequest name. */ + public name: string; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IGetRegistrationRequest): google.cloud.domains.v1alpha2.GetRegistrationRequest; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.GetRegistrationRequest; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.GetRegistrationRequest; + + /** + * Verifies a GetRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.GetRegistrationRequest; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @param message GetRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.GetRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateRegistrationRequest. */ + interface IUpdateRegistrationRequest { + + /** UpdateRegistrationRequest registration */ + registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** UpdateRegistrationRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateRegistrationRequest. */ + class UpdateRegistrationRequest implements IUpdateRegistrationRequest { + + /** + * Constructs a new UpdateRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest); + + /** UpdateRegistrationRequest registration. */ + public registration?: (google.cloud.domains.v1alpha2.IRegistration|null); + + /** UpdateRegistrationRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest): google.cloud.domains.v1alpha2.UpdateRegistrationRequest; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.UpdateRegistrationRequest; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.UpdateRegistrationRequest; + + /** + * Verifies an UpdateRegistrationRequest message. + * @param message Plain 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 UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.UpdateRegistrationRequest; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @param message UpdateRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.UpdateRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureManagementSettingsRequest. */ + interface IConfigureManagementSettingsRequest { + + /** ConfigureManagementSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureManagementSettingsRequest managementSettings */ + managementSettings?: (google.cloud.domains.v1alpha2.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents a ConfigureManagementSettingsRequest. */ + class ConfigureManagementSettingsRequest implements IConfigureManagementSettingsRequest { + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest); + + /** ConfigureManagementSettingsRequest registration. */ + public registration: string; + + /** ConfigureManagementSettingsRequest managementSettings. */ + public managementSettings?: (google.cloud.domains.v1alpha2.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureManagementSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest): google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureManagementSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureManagementSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureDnsSettingsRequest. */ + interface IConfigureDnsSettingsRequest { + + /** ConfigureDnsSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureDnsSettingsRequest dnsSettings */ + dnsSettings?: (google.cloud.domains.v1alpha2.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureDnsSettingsRequest. */ + class ConfigureDnsSettingsRequest implements IConfigureDnsSettingsRequest { + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest); + + /** ConfigureDnsSettingsRequest registration. */ + public registration: string; + + /** ConfigureDnsSettingsRequest dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1alpha2.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureDnsSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest): google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureDnsSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureDnsSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureContactSettingsRequest. */ + interface IConfigureContactSettingsRequest { + + /** ConfigureContactSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureContactSettingsRequest contactSettings */ + contactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1alpha2.ContactNotice[]|null); + + /** ConfigureContactSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureContactSettingsRequest. */ + class ConfigureContactSettingsRequest implements IConfigureContactSettingsRequest { + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest); + + /** ConfigureContactSettingsRequest registration. */ + public registration: string; + + /** ConfigureContactSettingsRequest contactSettings. */ + public contactSettings?: (google.cloud.domains.v1alpha2.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1alpha2.ContactNotice[]; + + /** ConfigureContactSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureContactSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest): google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureContactSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureContactSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ExportRegistrationRequest. */ + interface IExportRegistrationRequest { + + /** ExportRegistrationRequest name */ + name?: (string|null); + } + + /** Represents an ExportRegistrationRequest. */ + class ExportRegistrationRequest implements IExportRegistrationRequest { + + /** + * Constructs a new ExportRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IExportRegistrationRequest); + + /** ExportRegistrationRequest name. */ + public name: string; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ExportRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IExportRegistrationRequest): google.cloud.domains.v1alpha2.ExportRegistrationRequest; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ExportRegistrationRequest; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ExportRegistrationRequest; + + /** + * Verifies an ExportRegistrationRequest message. + * @param message Plain 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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExportRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ExportRegistrationRequest; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @param message ExportRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ExportRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExportRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteRegistrationRequest. */ + interface IDeleteRegistrationRequest { + + /** DeleteRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a DeleteRegistrationRequest. */ + class DeleteRegistrationRequest implements IDeleteRegistrationRequest { + + /** + * Constructs a new DeleteRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest); + + /** DeleteRegistrationRequest name. */ + public name: string; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest): google.cloud.domains.v1alpha2.DeleteRegistrationRequest; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.DeleteRegistrationRequest; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.DeleteRegistrationRequest; + + /** + * Verifies a DeleteRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.DeleteRegistrationRequest; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @param message DeleteRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.DeleteRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveAuthorizationCodeRequest. */ + interface IRetrieveAuthorizationCodeRequest { + + /** RetrieveAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a RetrieveAuthorizationCodeRequest. */ + class RetrieveAuthorizationCodeRequest implements IRetrieveAuthorizationCodeRequest { + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest); + + /** RetrieveAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest): google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message RetrieveAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ResetAuthorizationCodeRequest. */ + interface IResetAuthorizationCodeRequest { + + /** ResetAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a ResetAuthorizationCodeRequest. */ + class ResetAuthorizationCodeRequest implements IResetAuthorizationCodeRequest { + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest); + + /** ResetAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ResetAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest): google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResetAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message ResetAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterParameters. */ + interface IRegisterParameters { + + /** RegisterParameters domainName */ + domainName?: (string|null); + + /** RegisterParameters availability */ + availability?: (google.cloud.domains.v1alpha2.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1alpha2.RegisterParameters.Availability|null); + + /** RegisterParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1alpha2.ContactPrivacy[]|null); + + /** RegisterParameters domainNotices */ + domainNotices?: (google.cloud.domains.v1alpha2.DomainNotice[]|null); + + /** RegisterParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a RegisterParameters. */ + class RegisterParameters implements IRegisterParameters { + + /** + * Constructs a new RegisterParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IRegisterParameters); + + /** RegisterParameters domainName. */ + public domainName: string; + + /** RegisterParameters availability. */ + public availability: (google.cloud.domains.v1alpha2.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1alpha2.RegisterParameters.Availability); + + /** RegisterParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1alpha2.ContactPrivacy[]; + + /** RegisterParameters domainNotices. */ + public domainNotices: google.cloud.domains.v1alpha2.DomainNotice[]; + + /** RegisterParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterParameters instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IRegisterParameters): google.cloud.domains.v1alpha2.RegisterParameters; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.RegisterParameters; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.RegisterParameters; + + /** + * Verifies a RegisterParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.RegisterParameters; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @param message RegisterParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.RegisterParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace RegisterParameters { + + /** Availability enum. */ + enum Availability { + AVAILABILITY_UNSPECIFIED = 0, + AVAILABLE = 1, + UNAVAILABLE = 2, + UNSUPPORTED = 3, + UNKNOWN = 4 + } + } + + /** Properties of a TransferParameters. */ + interface ITransferParameters { + + /** TransferParameters domainName */ + domainName?: (string|null); + + /** TransferParameters currentRegistrar */ + currentRegistrar?: (string|null); + + /** TransferParameters nameServers */ + nameServers?: (string[]|null); + + /** TransferParameters transferLockState */ + transferLockState?: (google.cloud.domains.v1alpha2.TransferLockState|keyof typeof google.cloud.domains.v1alpha2.TransferLockState|null); + + /** TransferParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1alpha2.ContactPrivacy[]|null); + + /** TransferParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a TransferParameters. */ + class TransferParameters implements ITransferParameters { + + /** + * Constructs a new TransferParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.ITransferParameters); + + /** TransferParameters domainName. */ + public domainName: string; + + /** TransferParameters currentRegistrar. */ + public currentRegistrar: string; + + /** TransferParameters nameServers. */ + public nameServers: string[]; + + /** TransferParameters transferLockState. */ + public transferLockState: (google.cloud.domains.v1alpha2.TransferLockState|keyof typeof google.cloud.domains.v1alpha2.TransferLockState); + + /** TransferParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1alpha2.ContactPrivacy[]; + + /** TransferParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new TransferParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferParameters instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.ITransferParameters): google.cloud.domains.v1alpha2.TransferParameters; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.TransferParameters; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.TransferParameters; + + /** + * Verifies a TransferParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.TransferParameters; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @param message TransferParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.TransferParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthorizationCode. */ + interface IAuthorizationCode { + + /** AuthorizationCode code */ + code?: (string|null); + } + + /** Represents an AuthorizationCode. */ + class AuthorizationCode implements IAuthorizationCode { + + /** + * Constructs a new AuthorizationCode. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IAuthorizationCode); + + /** AuthorizationCode code. */ + public code: string; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthorizationCode instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IAuthorizationCode): google.cloud.domains.v1alpha2.AuthorizationCode; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1alpha2.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.AuthorizationCode; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.AuthorizationCode; + + /** + * Verifies an AuthorizationCode message. + * @param message Plain 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 AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthorizationCode + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.AuthorizationCode; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @param message AuthorizationCode + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.AuthorizationCode, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthorizationCode to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthorizationCode + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target */ + target?: (string|null); + + /** OperationMetadata verb */ + verb?: (string|null); + + /** OperationMetadata statusDetail */ + statusDetail?: (string|null); + + /** OperationMetadata apiVersion */ + apiVersion?: (string|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1alpha2.IOperationMetadata); + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target. */ + public target: string; + + /** OperationMetadata verb. */ + public verb: string; + + /** OperationMetadata statusDetail. */ + public statusDetail: string; + + /** OperationMetadata apiVersion. */ + public apiVersion: string; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.domains.v1alpha2.IOperationMetadata): google.cloud.domains.v1alpha2.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.v1alpha2.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1alpha2.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.OperationMetadata.verify|verify} messages. + * @param message OperationMetadata message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1alpha2.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1alpha2.OperationMetadata; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1alpha2.OperationMetadata; + + /** + * Verifies an OperationMetadata message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OperationMetadata + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1alpha2.OperationMetadata; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @param message OperationMetadata + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1alpha2.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; + } + + /** ContactPrivacy enum. */ + enum ContactPrivacy { + CONTACT_PRIVACY_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA = 1, + PRIVATE_CONTACT_DATA = 2, + REDACTED_CONTACT_DATA = 3 + } + + /** DomainNotice enum. */ + enum DomainNotice { + DOMAIN_NOTICE_UNSPECIFIED = 0, + HSTS_PRELOADED = 1 + } + + /** ContactNotice enum. */ + enum ContactNotice { + CONTACT_NOTICE_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1 + } + + /** TransferLockState enum. */ + enum TransferLockState { + TRANSFER_LOCK_STATE_UNSPECIFIED = 0, + UNLOCKED = 1, + LOCKED = 2 + } + } + + /** Namespace v1beta1. */ + namespace v1beta1 { + + /** Represents a Domains */ + class Domains extends $protobuf.rpc.Service { + + /** + * Constructs a new Domains 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 Domains 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): Domains; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and SearchDomainsResponse + */ + public searchDomains(request: google.cloud.domains.v1beta1.ISearchDomainsRequest, callback: google.cloud.domains.v1beta1.Domains.SearchDomainsCallback): void; + + /** + * Calls SearchDomains. + * @param request SearchDomainsRequest message or plain object + * @returns Promise + */ + public searchDomains(request: google.cloud.domains.v1beta1.ISearchDomainsRequest): Promise; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, callback: google.cloud.domains.v1beta1.Domains.RetrieveRegisterParametersCallback): void; + + /** + * Calls RetrieveRegisterParameters. + * @param request RetrieveRegisterParametersRequest message or plain object + * @returns Promise + */ + public retrieveRegisterParameters(request: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest): Promise; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public registerDomain(request: google.cloud.domains.v1beta1.IRegisterDomainRequest, callback: google.cloud.domains.v1beta1.Domains.RegisterDomainCallback): void; + + /** + * Calls RegisterDomain. + * @param request RegisterDomainRequest message or plain object + * @returns Promise + */ + public registerDomain(request: google.cloud.domains.v1beta1.IRegisterDomainRequest): Promise; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @param callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + */ + public retrieveTransferParameters(request: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, callback: google.cloud.domains.v1beta1.Domains.RetrieveTransferParametersCallback): void; + + /** + * Calls RetrieveTransferParameters. + * @param request RetrieveTransferParametersRequest message or plain object + * @returns Promise + */ + public retrieveTransferParameters(request: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest): Promise; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public transferDomain(request: google.cloud.domains.v1beta1.ITransferDomainRequest, callback: google.cloud.domains.v1beta1.Domains.TransferDomainCallback): void; + + /** + * Calls TransferDomain. + * @param request TransferDomainRequest message or plain object + * @returns Promise + */ + public transferDomain(request: google.cloud.domains.v1beta1.ITransferDomainRequest): Promise; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and ListRegistrationsResponse + */ + public listRegistrations(request: google.cloud.domains.v1beta1.IListRegistrationsRequest, callback: google.cloud.domains.v1beta1.Domains.ListRegistrationsCallback): void; + + /** + * Calls ListRegistrations. + * @param request ListRegistrationsRequest message or plain object + * @returns Promise + */ + public listRegistrations(request: google.cloud.domains.v1beta1.IListRegistrationsRequest): Promise; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Registration + */ + public getRegistration(request: google.cloud.domains.v1beta1.IGetRegistrationRequest, callback: google.cloud.domains.v1beta1.Domains.GetRegistrationCallback): void; + + /** + * Calls GetRegistration. + * @param request GetRegistrationRequest message or plain object + * @returns Promise + */ + public getRegistration(request: google.cloud.domains.v1beta1.IGetRegistrationRequest): Promise; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public updateRegistration(request: google.cloud.domains.v1beta1.IUpdateRegistrationRequest, callback: google.cloud.domains.v1beta1.Domains.UpdateRegistrationCallback): void; + + /** + * Calls UpdateRegistration. + * @param request UpdateRegistrationRequest message or plain object + * @returns Promise + */ + public updateRegistration(request: google.cloud.domains.v1beta1.IUpdateRegistrationRequest): Promise; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureManagementSettings(request: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, callback: google.cloud.domains.v1beta1.Domains.ConfigureManagementSettingsCallback): void; + + /** + * Calls ConfigureManagementSettings. + * @param request ConfigureManagementSettingsRequest message or plain object + * @returns Promise + */ + public configureManagementSettings(request: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest): Promise; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureDnsSettings(request: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, callback: google.cloud.domains.v1beta1.Domains.ConfigureDnsSettingsCallback): void; + + /** + * Calls ConfigureDnsSettings. + * @param request ConfigureDnsSettingsRequest message or plain object + * @returns Promise + */ + public configureDnsSettings(request: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest): Promise; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public configureContactSettings(request: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, callback: google.cloud.domains.v1beta1.Domains.ConfigureContactSettingsCallback): void; + + /** + * Calls ConfigureContactSettings. + * @param request ConfigureContactSettingsRequest message or plain object + * @returns Promise + */ + public configureContactSettings(request: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest): Promise; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public exportRegistration(request: google.cloud.domains.v1beta1.IExportRegistrationRequest, callback: google.cloud.domains.v1beta1.Domains.ExportRegistrationCallback): void; + + /** + * Calls ExportRegistration. + * @param request ExportRegistrationRequest message or plain object + * @returns Promise + */ + public exportRegistration(request: google.cloud.domains.v1beta1.IExportRegistrationRequest): Promise; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @param callback Node-style callback called with the error, if any, and Operation + */ + public deleteRegistration(request: google.cloud.domains.v1beta1.IDeleteRegistrationRequest, callback: google.cloud.domains.v1beta1.Domains.DeleteRegistrationCallback): void; + + /** + * Calls DeleteRegistration. + * @param request DeleteRegistrationRequest message or plain object + * @returns Promise + */ + public deleteRegistration(request: google.cloud.domains.v1beta1.IDeleteRegistrationRequest): Promise; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, callback: google.cloud.domains.v1beta1.Domains.RetrieveAuthorizationCodeCallback): void; + + /** + * Calls RetrieveAuthorizationCode. + * @param request RetrieveAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public retrieveAuthorizationCode(request: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest): Promise; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @param callback Node-style callback called with the error, if any, and AuthorizationCode + */ + public resetAuthorizationCode(request: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, callback: google.cloud.domains.v1beta1.Domains.ResetAuthorizationCodeCallback): void; + + /** + * Calls ResetAuthorizationCode. + * @param request ResetAuthorizationCodeRequest message or plain object + * @returns Promise + */ + public resetAuthorizationCode(request: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest): Promise; + } + + namespace Domains { + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|searchDomains}. + * @param error Error, if any + * @param [response] SearchDomainsResponse + */ + type SearchDomainsCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.SearchDomainsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveRegisterParameters}. + * @param error Error, if any + * @param [response] RetrieveRegisterParametersResponse + */ + type RetrieveRegisterParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|registerDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type RegisterDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveTransferParameters}. + * @param error Error, if any + * @param [response] RetrieveTransferParametersResponse + */ + type RetrieveTransferParametersCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.RetrieveTransferParametersResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|transferDomain}. + * @param error Error, if any + * @param [response] Operation + */ + type TransferDomainCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|listRegistrations}. + * @param error Error, if any + * @param [response] ListRegistrationsResponse + */ + type ListRegistrationsCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.ListRegistrationsResponse) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|getRegistration}. + * @param error Error, if any + * @param [response] Registration + */ + type GetRegistrationCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.Registration) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|updateRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type UpdateRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureManagementSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureManagementSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureDnsSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureDnsSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureContactSettings}. + * @param error Error, if any + * @param [response] Operation + */ + type ConfigureContactSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|exportRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type ExportRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|deleteRegistration}. + * @param error Error, if any + * @param [response] Operation + */ + type DeleteRegistrationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type RetrieveAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.AuthorizationCode) => void; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|resetAuthorizationCode}. + * @param error Error, if any + * @param [response] AuthorizationCode + */ + type ResetAuthorizationCodeCallback = (error: (Error|null), response?: google.cloud.domains.v1beta1.AuthorizationCode) => void; + } + + /** Properties of a Registration. */ + interface IRegistration { + + /** Registration name */ + name?: (string|null); + + /** Registration domainName */ + domainName?: (string|null); + + /** Registration createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime */ + expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state */ + state?: (google.cloud.domains.v1beta1.Registration.State|keyof typeof google.cloud.domains.v1beta1.Registration.State|null); + + /** Registration issues */ + issues?: (google.cloud.domains.v1beta1.Registration.Issue[]|null); + + /** Registration labels */ + labels?: ({ [k: string]: string }|null); + + /** Registration managementSettings */ + managementSettings?: (google.cloud.domains.v1beta1.IManagementSettings|null); + + /** Registration dnsSettings */ + dnsSettings?: (google.cloud.domains.v1beta1.IDnsSettings|null); + + /** Registration contactSettings */ + contactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** Registration pendingContactSettings */ + pendingContactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** Registration supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1beta1.ContactPrivacy[]|null); + } + + /** Represents a Registration. */ + class Registration implements IRegistration { + + /** + * Constructs a new Registration. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRegistration); + + /** Registration name. */ + public name: string; + + /** Registration domainName. */ + public domainName: string; + + /** Registration createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** Registration expireTime. */ + public expireTime?: (google.protobuf.ITimestamp|null); + + /** Registration state. */ + public state: (google.cloud.domains.v1beta1.Registration.State|keyof typeof google.cloud.domains.v1beta1.Registration.State); + + /** Registration issues. */ + public issues: google.cloud.domains.v1beta1.Registration.Issue[]; + + /** Registration labels. */ + public labels: { [k: string]: string }; + + /** Registration managementSettings. */ + public managementSettings?: (google.cloud.domains.v1beta1.IManagementSettings|null); + + /** Registration dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1beta1.IDnsSettings|null); + + /** Registration contactSettings. */ + public contactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** Registration pendingContactSettings. */ + public pendingContactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** Registration supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1beta1.ContactPrivacy[]; + + /** + * Creates a new Registration instance using the specified properties. + * @param [properties] Properties to set + * @returns Registration instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRegistration): google.cloud.domains.v1beta1.Registration; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1beta1.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.Registration.verify|verify} messages. + * @param message Registration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRegistration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.Registration; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.Registration; + + /** + * Verifies a Registration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Registration + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.Registration; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @param message Registration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.Registration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Registration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Registration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Registration { + + /** State enum. */ + enum State { + STATE_UNSPECIFIED = 0, + REGISTRATION_PENDING = 1, + REGISTRATION_FAILED = 2, + TRANSFER_PENDING = 3, + TRANSFER_FAILED = 4, + ACTIVE = 6, + SUSPENDED = 7, + EXPORTED = 8 + } + + /** Issue enum. */ + enum Issue { + ISSUE_UNSPECIFIED = 0, + CONTACT_SUPPORT = 1, + UNVERIFIED_EMAIL = 2 + } + } + + /** Properties of a ManagementSettings. */ + interface IManagementSettings { + + /** ManagementSettings renewalMethod */ + renewalMethod?: (google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod|null); + + /** ManagementSettings transferLockState */ + transferLockState?: (google.cloud.domains.v1beta1.TransferLockState|keyof typeof google.cloud.domains.v1beta1.TransferLockState|null); + } + + /** Represents a ManagementSettings. */ + class ManagementSettings implements IManagementSettings { + + /** + * Constructs a new ManagementSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IManagementSettings); + + /** ManagementSettings renewalMethod. */ + public renewalMethod: (google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod|keyof typeof google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod); + + /** ManagementSettings transferLockState. */ + public transferLockState: (google.cloud.domains.v1beta1.TransferLockState|keyof typeof google.cloud.domains.v1beta1.TransferLockState); + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ManagementSettings instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IManagementSettings): google.cloud.domains.v1beta1.ManagementSettings; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ManagementSettings.verify|verify} messages. + * @param message ManagementSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IManagementSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ManagementSettings; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ManagementSettings; + + /** + * Verifies a ManagementSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ManagementSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ManagementSettings; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @param message ManagementSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ManagementSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ManagementSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ManagementSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ManagementSettings { + + /** RenewalMethod enum. */ + enum RenewalMethod { + RENEWAL_METHOD_UNSPECIFIED = 0, + AUTOMATIC_RENEWAL = 1, + MANUAL_RENEWAL = 2 + } + } + + /** Properties of a DnsSettings. */ + interface IDnsSettings { + + /** DnsSettings customDns */ + customDns?: (google.cloud.domains.v1beta1.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns */ + googleDomainsDns?: (google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords */ + glueRecords?: (google.cloud.domains.v1beta1.DnsSettings.IGlueRecord[]|null); + } + + /** Represents a DnsSettings. */ + class DnsSettings implements IDnsSettings { + + /** + * Constructs a new DnsSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IDnsSettings); + + /** DnsSettings customDns. */ + public customDns?: (google.cloud.domains.v1beta1.DnsSettings.ICustomDns|null); + + /** DnsSettings googleDomainsDns. */ + public googleDomainsDns?: (google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns|null); + + /** DnsSettings glueRecords. */ + public glueRecords: google.cloud.domains.v1beta1.DnsSettings.IGlueRecord[]; + + /** DnsSettings dnsProvider. */ + public dnsProvider?: ("customDns"|"googleDomainsDns"); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns DnsSettings instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IDnsSettings): google.cloud.domains.v1beta1.DnsSettings; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.verify|verify} messages. + * @param message DnsSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IDnsSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DnsSettings; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DnsSettings; + + /** + * Verifies a DnsSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DnsSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DnsSettings; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @param message DnsSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DnsSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DnsSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DnsSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DnsSettings { + + /** Properties of a CustomDns. */ + interface ICustomDns { + + /** CustomDns nameServers */ + nameServers?: (string[]|null); + + /** CustomDns dsRecords */ + dsRecords?: (google.cloud.domains.v1beta1.DnsSettings.IDsRecord[]|null); + } + + /** Represents a CustomDns. */ + class CustomDns implements ICustomDns { + + /** + * Constructs a new CustomDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.DnsSettings.ICustomDns); + + /** CustomDns nameServers. */ + public nameServers: string[]; + + /** CustomDns dsRecords. */ + public dsRecords: google.cloud.domains.v1beta1.DnsSettings.IDsRecord[]; + + /** + * Creates a new CustomDns instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomDns instance + */ + public static create(properties?: google.cloud.domains.v1beta1.DnsSettings.ICustomDns): google.cloud.domains.v1beta1.DnsSettings.CustomDns; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.CustomDns.verify|verify} messages. + * @param message CustomDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.DnsSettings.ICustomDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DnsSettings.CustomDns; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DnsSettings.CustomDns; + + /** + * Verifies a CustomDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DnsSettings.CustomDns; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @param message CustomDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DnsSettings.CustomDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GoogleDomainsDns. */ + interface IGoogleDomainsDns { + + /** GoogleDomainsDns nameServers */ + nameServers?: (string[]|null); + + /** GoogleDomainsDns dsState */ + dsState?: (google.cloud.domains.v1beta1.DnsSettings.DsState|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsState|null); + + /** GoogleDomainsDns dsRecords */ + dsRecords?: (google.cloud.domains.v1beta1.DnsSettings.IDsRecord[]|null); + } + + /** Represents a GoogleDomainsDns. */ + class GoogleDomainsDns implements IGoogleDomainsDns { + + /** + * Constructs a new GoogleDomainsDns. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns); + + /** GoogleDomainsDns nameServers. */ + public nameServers: string[]; + + /** GoogleDomainsDns dsState. */ + public dsState: (google.cloud.domains.v1beta1.DnsSettings.DsState|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsState); + + /** GoogleDomainsDns dsRecords. */ + public dsRecords: google.cloud.domains.v1beta1.DnsSettings.IDsRecord[]; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @param [properties] Properties to set + * @returns GoogleDomainsDns instance + */ + public static create(properties?: google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns): google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @param message GoogleDomainsDns message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns; + + /** + * Verifies a GoogleDomainsDns message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GoogleDomainsDns + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @param message GoogleDomainsDns + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GoogleDomainsDns + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DsRecord. */ + interface IDsRecord { + + /** DsRecord keyTag */ + keyTag?: (number|null); + + /** DsRecord algorithm */ + algorithm?: (google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm|null); + + /** DsRecord digestType */ + digestType?: (google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType|null); + + /** DsRecord digest */ + digest?: (string|null); + } + + /** Represents a DsRecord. */ + class DsRecord implements IDsRecord { + + /** + * Constructs a new DsRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.DnsSettings.IDsRecord); + + /** DsRecord keyTag. */ + public keyTag: number; + + /** DsRecord algorithm. */ + public algorithm: (google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm); + + /** DsRecord digestType. */ + public digestType: (google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType|keyof typeof google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType); + + /** DsRecord digest. */ + public digest: string; + + /** + * Creates a new DsRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns DsRecord instance + */ + public static create(properties?: google.cloud.domains.v1beta1.DnsSettings.IDsRecord): google.cloud.domains.v1beta1.DnsSettings.DsRecord; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify|verify} messages. + * @param message DsRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.DnsSettings.IDsRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DnsSettings.DsRecord; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DnsSettings.DsRecord; + + /** + * Verifies a DsRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DsRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DnsSettings.DsRecord; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @param message DsRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DnsSettings.DsRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DsRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DsRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DsRecord { + + /** Algorithm enum. */ + enum Algorithm { + ALGORITHM_UNSPECIFIED = 0, + RSAMD5 = 1, + DH = 2, + DSA = 3, + ECC = 4, + RSASHA1 = 5, + DSANSEC3SHA1 = 6, + RSASHA1NSEC3SHA1 = 7, + RSASHA256 = 8, + RSASHA512 = 10, + ECCGOST = 12, + ECDSAP256SHA256 = 13, + ECDSAP384SHA384 = 14, + ED25519 = 15, + ED448 = 16, + INDIRECT = 252, + PRIVATEDNS = 253, + PRIVATEOID = 254 + } + + /** DigestType enum. */ + enum DigestType { + DIGEST_TYPE_UNSPECIFIED = 0, + SHA1 = 1, + SHA256 = 2, + GOST3411 = 3, + SHA384 = 4 + } + } + + /** Properties of a GlueRecord. */ + interface IGlueRecord { + + /** GlueRecord hostName */ + hostName?: (string|null); + + /** GlueRecord ipv4Addresses */ + ipv4Addresses?: (string[]|null); + + /** GlueRecord ipv6Addresses */ + ipv6Addresses?: (string[]|null); + } + + /** Represents a GlueRecord. */ + class GlueRecord implements IGlueRecord { + + /** + * Constructs a new GlueRecord. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.DnsSettings.IGlueRecord); + + /** GlueRecord hostName. */ + public hostName: string; + + /** GlueRecord ipv4Addresses. */ + public ipv4Addresses: string[]; + + /** GlueRecord ipv6Addresses. */ + public ipv6Addresses: string[]; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @param [properties] Properties to set + * @returns GlueRecord instance + */ + public static create(properties?: google.cloud.domains.v1beta1.DnsSettings.IGlueRecord): google.cloud.domains.v1beta1.DnsSettings.GlueRecord; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GlueRecord.verify|verify} messages. + * @param message GlueRecord message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.DnsSettings.IGlueRecord, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DnsSettings.GlueRecord; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DnsSettings.GlueRecord; + + /** + * Verifies a GlueRecord message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GlueRecord + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DnsSettings.GlueRecord; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @param message GlueRecord + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DnsSettings.GlueRecord, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GlueRecord to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GlueRecord + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** DsState enum. */ + enum DsState { + DS_STATE_UNSPECIFIED = 0, + DS_RECORDS_UNPUBLISHED = 1, + DS_RECORDS_PUBLISHED = 2 + } + } + + /** Properties of a ContactSettings. */ + interface IContactSettings { + + /** ContactSettings privacy */ + privacy?: (google.cloud.domains.v1beta1.ContactPrivacy|keyof typeof google.cloud.domains.v1beta1.ContactPrivacy|null); + + /** ContactSettings registrantContact */ + registrantContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + + /** ContactSettings adminContact */ + adminContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + + /** ContactSettings technicalContact */ + technicalContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + } + + /** Represents a ContactSettings. */ + class ContactSettings implements IContactSettings { + + /** + * Constructs a new ContactSettings. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IContactSettings); + + /** ContactSettings privacy. */ + public privacy: (google.cloud.domains.v1beta1.ContactPrivacy|keyof typeof google.cloud.domains.v1beta1.ContactPrivacy); + + /** ContactSettings registrantContact. */ + public registrantContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + + /** ContactSettings adminContact. */ + public adminContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + + /** ContactSettings technicalContact. */ + public technicalContact?: (google.cloud.domains.v1beta1.ContactSettings.IContact|null); + + /** + * Creates a new ContactSettings instance using the specified properties. + * @param [properties] Properties to set + * @returns ContactSettings instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IContactSettings): google.cloud.domains.v1beta1.ContactSettings; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.verify|verify} messages. + * @param message ContactSettings message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IContactSettings, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ContactSettings; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ContactSettings; + + /** + * Verifies a ContactSettings message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ContactSettings + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ContactSettings; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @param message ContactSettings + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ContactSettings, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ContactSettings to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ContactSettings + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ContactSettings { + + /** Properties of a Contact. */ + interface IContact { + + /** Contact postalAddress */ + postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email */ + email?: (string|null); + + /** Contact phoneNumber */ + phoneNumber?: (string|null); + + /** Contact faxNumber */ + faxNumber?: (string|null); + } + + /** Represents a Contact. */ + class Contact implements IContact { + + /** + * Constructs a new Contact. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.ContactSettings.IContact); + + /** Contact postalAddress. */ + public postalAddress?: (google.type.IPostalAddress|null); + + /** Contact email. */ + public email: string; + + /** Contact phoneNumber. */ + public phoneNumber: string; + + /** Contact faxNumber. */ + public faxNumber: string; + + /** + * Creates a new Contact instance using the specified properties. + * @param [properties] Properties to set + * @returns Contact instance + */ + public static create(properties?: google.cloud.domains.v1beta1.ContactSettings.IContact): google.cloud.domains.v1beta1.ContactSettings.Contact; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.Contact.verify|verify} messages. + * @param message Contact message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.ContactSettings.IContact, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ContactSettings.Contact; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ContactSettings.Contact; + + /** + * Verifies a Contact message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Contact + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ContactSettings.Contact; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @param message Contact + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ContactSettings.Contact, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Contact to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Contact + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SearchDomainsRequest. */ + interface ISearchDomainsRequest { + + /** SearchDomainsRequest query */ + query?: (string|null); + + /** SearchDomainsRequest location */ + location?: (string|null); + } + + /** Represents a SearchDomainsRequest. */ + class SearchDomainsRequest implements ISearchDomainsRequest { + + /** + * Constructs a new SearchDomainsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.ISearchDomainsRequest); + + /** SearchDomainsRequest query. */ + public query: string; + + /** SearchDomainsRequest location. */ + public location: string; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.ISearchDomainsRequest): google.cloud.domains.v1beta1.SearchDomainsRequest; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsRequest.verify|verify} messages. + * @param message SearchDomainsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.ISearchDomainsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.SearchDomainsRequest; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.SearchDomainsRequest; + + /** + * Verifies a SearchDomainsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.SearchDomainsRequest; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @param message SearchDomainsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.SearchDomainsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a SearchDomainsResponse. */ + interface ISearchDomainsResponse { + + /** SearchDomainsResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1beta1.IRegisterParameters[]|null); + } + + /** Represents a SearchDomainsResponse. */ + class SearchDomainsResponse implements ISearchDomainsResponse { + + /** + * Constructs a new SearchDomainsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.ISearchDomainsResponse); + + /** SearchDomainsResponse registerParameters. */ + public registerParameters: google.cloud.domains.v1beta1.IRegisterParameters[]; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns SearchDomainsResponse instance + */ + public static create(properties?: google.cloud.domains.v1beta1.ISearchDomainsResponse): google.cloud.domains.v1beta1.SearchDomainsResponse; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsResponse.verify|verify} messages. + * @param message SearchDomainsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.ISearchDomainsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.SearchDomainsResponse; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.SearchDomainsResponse; + + /** + * Verifies a SearchDomainsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SearchDomainsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.SearchDomainsResponse; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @param message SearchDomainsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.SearchDomainsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SearchDomainsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersRequest. */ + interface IRetrieveRegisterParametersRequest { + + /** RetrieveRegisterParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveRegisterParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveRegisterParametersRequest. */ + class RetrieveRegisterParametersRequest implements IRetrieveRegisterParametersRequest { + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest); + + /** RetrieveRegisterParametersRequest domainName. */ + public domainName: string; + + /** RetrieveRegisterParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest): google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @param message RetrieveRegisterParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveRegisterParametersResponse. */ + interface IRetrieveRegisterParametersResponse { + + /** RetrieveRegisterParametersResponse registerParameters */ + registerParameters?: (google.cloud.domains.v1beta1.IRegisterParameters|null); + } + + /** Represents a RetrieveRegisterParametersResponse. */ + class RetrieveRegisterParametersResponse implements IRetrieveRegisterParametersResponse { + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse); + + /** RetrieveRegisterParametersResponse registerParameters. */ + public registerParameters?: (google.cloud.domains.v1beta1.IRegisterParameters|null); + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveRegisterParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse): google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @param message RetrieveRegisterParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveRegisterParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveRegisterParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterDomainRequest. */ + interface IRegisterDomainRequest { + + /** RegisterDomainRequest parent */ + parent?: (string|null); + + /** RegisterDomainRequest registration */ + registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** RegisterDomainRequest domainNotices */ + domainNotices?: (google.cloud.domains.v1beta1.DomainNotice[]|null); + + /** RegisterDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1beta1.ContactNotice[]|null); + + /** RegisterDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a RegisterDomainRequest. */ + class RegisterDomainRequest implements IRegisterDomainRequest { + + /** + * Constructs a new RegisterDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRegisterDomainRequest); + + /** RegisterDomainRequest parent. */ + public parent: string; + + /** RegisterDomainRequest registration. */ + public registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** RegisterDomainRequest domainNotices. */ + public domainNotices: google.cloud.domains.v1beta1.DomainNotice[]; + + /** RegisterDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1beta1.ContactNotice[]; + + /** RegisterDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** RegisterDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRegisterDomainRequest): google.cloud.domains.v1beta1.RegisterDomainRequest; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterDomainRequest.verify|verify} messages. + * @param message RegisterDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRegisterDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RegisterDomainRequest; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RegisterDomainRequest; + + /** + * Verifies a RegisterDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RegisterDomainRequest; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @param message RegisterDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RegisterDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersRequest. */ + interface IRetrieveTransferParametersRequest { + + /** RetrieveTransferParametersRequest domainName */ + domainName?: (string|null); + + /** RetrieveTransferParametersRequest location */ + location?: (string|null); + } + + /** Represents a RetrieveTransferParametersRequest. */ + class RetrieveTransferParametersRequest implements IRetrieveTransferParametersRequest { + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest); + + /** RetrieveTransferParametersRequest domainName. */ + public domainName: string; + + /** RetrieveTransferParametersRequest location. */ + public location: string; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest): google.cloud.domains.v1beta1.RetrieveTransferParametersRequest; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersRequest.verify|verify} messages. + * @param message RetrieveTransferParametersRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RetrieveTransferParametersRequest; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RetrieveTransferParametersRequest; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RetrieveTransferParametersRequest; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RetrieveTransferParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveTransferParametersResponse. */ + interface IRetrieveTransferParametersResponse { + + /** RetrieveTransferParametersResponse transferParameters */ + transferParameters?: (google.cloud.domains.v1beta1.ITransferParameters|null); + } + + /** Represents a RetrieveTransferParametersResponse. */ + class RetrieveTransferParametersResponse implements IRetrieveTransferParametersResponse { + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse); + + /** RetrieveTransferParametersResponse transferParameters. */ + public transferParameters?: (google.cloud.domains.v1beta1.ITransferParameters|null); + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveTransferParametersResponse instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse): google.cloud.domains.v1beta1.RetrieveTransferParametersResponse; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersResponse.verify|verify} messages. + * @param message RetrieveTransferParametersResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RetrieveTransferParametersResponse; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RetrieveTransferParametersResponse; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveTransferParametersResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RetrieveTransferParametersResponse; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @param message RetrieveTransferParametersResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RetrieveTransferParametersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a TransferDomainRequest. */ + interface ITransferDomainRequest { + + /** TransferDomainRequest parent */ + parent?: (string|null); + + /** TransferDomainRequest registration */ + registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** TransferDomainRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1beta1.ContactNotice[]|null); + + /** TransferDomainRequest yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode */ + authorizationCode?: (google.cloud.domains.v1beta1.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a TransferDomainRequest. */ + class TransferDomainRequest implements ITransferDomainRequest { + + /** + * Constructs a new TransferDomainRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.ITransferDomainRequest); + + /** TransferDomainRequest parent. */ + public parent: string; + + /** TransferDomainRequest registration. */ + public registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** TransferDomainRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1beta1.ContactNotice[]; + + /** TransferDomainRequest yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** TransferDomainRequest authorizationCode. */ + public authorizationCode?: (google.cloud.domains.v1beta1.IAuthorizationCode|null); + + /** TransferDomainRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferDomainRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.ITransferDomainRequest): google.cloud.domains.v1beta1.TransferDomainRequest; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.TransferDomainRequest.verify|verify} messages. + * @param message TransferDomainRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.ITransferDomainRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.TransferDomainRequest; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.TransferDomainRequest; + + /** + * Verifies a TransferDomainRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferDomainRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.TransferDomainRequest; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @param message TransferDomainRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.TransferDomainRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferDomainRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferDomainRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsRequest. */ + interface IListRegistrationsRequest { + + /** ListRegistrationsRequest parent */ + parent?: (string|null); + + /** ListRegistrationsRequest pageSize */ + pageSize?: (number|null); + + /** ListRegistrationsRequest pageToken */ + pageToken?: (string|null); + + /** ListRegistrationsRequest filter */ + filter?: (string|null); + } + + /** Represents a ListRegistrationsRequest. */ + class ListRegistrationsRequest implements IListRegistrationsRequest { + + /** + * Constructs a new ListRegistrationsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IListRegistrationsRequest); + + /** ListRegistrationsRequest parent. */ + public parent: string; + + /** ListRegistrationsRequest pageSize. */ + public pageSize: number; + + /** ListRegistrationsRequest pageToken. */ + public pageToken: string; + + /** ListRegistrationsRequest filter. */ + public filter: string; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IListRegistrationsRequest): google.cloud.domains.v1beta1.ListRegistrationsRequest; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsRequest.verify|verify} messages. + * @param message ListRegistrationsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IListRegistrationsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ListRegistrationsRequest; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ListRegistrationsRequest; + + /** + * Verifies a ListRegistrationsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ListRegistrationsRequest; + + /** + * Creates a plain object from a ListRegistrationsRequest message. Also converts values to other types if specified. + * @param message ListRegistrationsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ListRegistrationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ListRegistrationsResponse. */ + interface IListRegistrationsResponse { + + /** ListRegistrationsResponse registrations */ + registrations?: (google.cloud.domains.v1beta1.IRegistration[]|null); + + /** ListRegistrationsResponse nextPageToken */ + nextPageToken?: (string|null); + } + + /** Represents a ListRegistrationsResponse. */ + class ListRegistrationsResponse implements IListRegistrationsResponse { + + /** + * Constructs a new ListRegistrationsResponse. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IListRegistrationsResponse); + + /** ListRegistrationsResponse registrations. */ + public registrations: google.cloud.domains.v1beta1.IRegistration[]; + + /** ListRegistrationsResponse nextPageToken. */ + public nextPageToken: string; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @param [properties] Properties to set + * @returns ListRegistrationsResponse instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IListRegistrationsResponse): google.cloud.domains.v1beta1.ListRegistrationsResponse; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsResponse.verify|verify} messages. + * @param message ListRegistrationsResponse message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IListRegistrationsResponse, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ListRegistrationsResponse; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ListRegistrationsResponse; + + /** + * Verifies a ListRegistrationsResponse message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ListRegistrationsResponse + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ListRegistrationsResponse; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @param message ListRegistrationsResponse + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ListRegistrationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a GetRegistrationRequest. */ + interface IGetRegistrationRequest { + + /** GetRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a GetRegistrationRequest. */ + class GetRegistrationRequest implements IGetRegistrationRequest { + + /** + * Constructs a new GetRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IGetRegistrationRequest); + + /** GetRegistrationRequest name. */ + public name: string; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns GetRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IGetRegistrationRequest): google.cloud.domains.v1beta1.GetRegistrationRequest; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.GetRegistrationRequest.verify|verify} messages. + * @param message GetRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IGetRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.GetRegistrationRequest; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.GetRegistrationRequest; + + /** + * Verifies a GetRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GetRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.GetRegistrationRequest; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @param message GetRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.GetRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GetRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GetRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an UpdateRegistrationRequest. */ + interface IUpdateRegistrationRequest { + + /** UpdateRegistrationRequest registration */ + registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** UpdateRegistrationRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents an UpdateRegistrationRequest. */ + class UpdateRegistrationRequest implements IUpdateRegistrationRequest { + + /** + * Constructs a new UpdateRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IUpdateRegistrationRequest); + + /** UpdateRegistrationRequest registration. */ + public registration?: (google.cloud.domains.v1beta1.IRegistration|null); + + /** UpdateRegistrationRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns UpdateRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IUpdateRegistrationRequest): google.cloud.domains.v1beta1.UpdateRegistrationRequest; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.UpdateRegistrationRequest.verify|verify} messages. + * @param message UpdateRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IUpdateRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.UpdateRegistrationRequest; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.UpdateRegistrationRequest; + + /** + * Verifies an UpdateRegistrationRequest message. + * @param message Plain 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 UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UpdateRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.UpdateRegistrationRequest; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @param message UpdateRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.UpdateRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureManagementSettingsRequest. */ + interface IConfigureManagementSettingsRequest { + + /** ConfigureManagementSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureManagementSettingsRequest managementSettings */ + managementSettings?: (google.cloud.domains.v1beta1.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + } + + /** Represents a ConfigureManagementSettingsRequest. */ + class ConfigureManagementSettingsRequest implements IConfigureManagementSettingsRequest { + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest); + + /** ConfigureManagementSettingsRequest registration. */ + public registration: string; + + /** ConfigureManagementSettingsRequest managementSettings. */ + public managementSettings?: (google.cloud.domains.v1beta1.IManagementSettings|null); + + /** ConfigureManagementSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureManagementSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest): google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @param message ConfigureManagementSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureManagementSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureManagementSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureDnsSettingsRequest. */ + interface IConfigureDnsSettingsRequest { + + /** ConfigureDnsSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureDnsSettingsRequest dnsSettings */ + dnsSettings?: (google.cloud.domains.v1beta1.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureDnsSettingsRequest. */ + class ConfigureDnsSettingsRequest implements IConfigureDnsSettingsRequest { + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest); + + /** ConfigureDnsSettingsRequest registration. */ + public registration: string; + + /** ConfigureDnsSettingsRequest dnsSettings. */ + public dnsSettings?: (google.cloud.domains.v1beta1.IDnsSettings|null); + + /** ConfigureDnsSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureDnsSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureDnsSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest): google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @param message ConfigureDnsSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureDnsSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureDnsSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ConfigureContactSettingsRequest. */ + interface IConfigureContactSettingsRequest { + + /** ConfigureContactSettingsRequest registration */ + registration?: (string|null); + + /** ConfigureContactSettingsRequest contactSettings */ + contactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask */ + updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices */ + contactNotices?: (google.cloud.domains.v1beta1.ContactNotice[]|null); + + /** ConfigureContactSettingsRequest validateOnly */ + validateOnly?: (boolean|null); + } + + /** Represents a ConfigureContactSettingsRequest. */ + class ConfigureContactSettingsRequest implements IConfigureContactSettingsRequest { + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest); + + /** ConfigureContactSettingsRequest registration. */ + public registration: string; + + /** ConfigureContactSettingsRequest contactSettings. */ + public contactSettings?: (google.cloud.domains.v1beta1.IContactSettings|null); + + /** ConfigureContactSettingsRequest updateMask. */ + public updateMask?: (google.protobuf.IFieldMask|null); + + /** ConfigureContactSettingsRequest contactNotices. */ + public contactNotices: google.cloud.domains.v1beta1.ContactNotice[]; + + /** ConfigureContactSettingsRequest validateOnly. */ + public validateOnly: boolean; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ConfigureContactSettingsRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest): google.cloud.domains.v1beta1.ConfigureContactSettingsRequest; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.verify|verify} messages. + * @param message ConfigureContactSettingsRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ConfigureContactSettingsRequest; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ConfigureContactSettingsRequest; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ConfigureContactSettingsRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ConfigureContactSettingsRequest; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @param message ConfigureContactSettingsRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ConfigureContactSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an ExportRegistrationRequest. */ + interface IExportRegistrationRequest { + + /** ExportRegistrationRequest name */ + name?: (string|null); + } + + /** Represents an ExportRegistrationRequest. */ + class ExportRegistrationRequest implements IExportRegistrationRequest { + + /** + * Constructs a new ExportRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IExportRegistrationRequest); + + /** ExportRegistrationRequest name. */ + public name: string; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ExportRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IExportRegistrationRequest): google.cloud.domains.v1beta1.ExportRegistrationRequest; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ExportRegistrationRequest.verify|verify} messages. + * @param message ExportRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IExportRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ExportRegistrationRequest; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ExportRegistrationRequest; + + /** + * Verifies an ExportRegistrationRequest message. + * @param message Plain 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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExportRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ExportRegistrationRequest; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @param message ExportRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ExportRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExportRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DeleteRegistrationRequest. */ + interface IDeleteRegistrationRequest { + + /** DeleteRegistrationRequest name */ + name?: (string|null); + } + + /** Represents a DeleteRegistrationRequest. */ + class DeleteRegistrationRequest implements IDeleteRegistrationRequest { + + /** + * Constructs a new DeleteRegistrationRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IDeleteRegistrationRequest); + + /** DeleteRegistrationRequest name. */ + public name: string; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns DeleteRegistrationRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IDeleteRegistrationRequest): google.cloud.domains.v1beta1.DeleteRegistrationRequest; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DeleteRegistrationRequest.verify|verify} messages. + * @param message DeleteRegistrationRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IDeleteRegistrationRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.DeleteRegistrationRequest; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.DeleteRegistrationRequest; + + /** + * Verifies a DeleteRegistrationRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DeleteRegistrationRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.DeleteRegistrationRequest; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @param message DeleteRegistrationRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.DeleteRegistrationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DeleteRegistrationRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RetrieveAuthorizationCodeRequest. */ + interface IRetrieveAuthorizationCodeRequest { + + /** RetrieveAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a RetrieveAuthorizationCodeRequest. */ + class RetrieveAuthorizationCodeRequest implements IRetrieveAuthorizationCodeRequest { + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest); + + /** RetrieveAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns RetrieveAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest): google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @param message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RetrieveAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message RetrieveAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ResetAuthorizationCodeRequest. */ + interface IResetAuthorizationCodeRequest { + + /** ResetAuthorizationCodeRequest registration */ + registration?: (string|null); + } + + /** Represents a ResetAuthorizationCodeRequest. */ + class ResetAuthorizationCodeRequest implements IResetAuthorizationCodeRequest { + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest); + + /** ResetAuthorizationCodeRequest registration. */ + public registration: string; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @param [properties] Properties to set + * @returns ResetAuthorizationCodeRequest instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest): google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @param message ResetAuthorizationCodeRequest message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResetAuthorizationCodeRequest + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @param message ResetAuthorizationCodeRequest + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a RegisterParameters. */ + interface IRegisterParameters { + + /** RegisterParameters domainName */ + domainName?: (string|null); + + /** RegisterParameters availability */ + availability?: (google.cloud.domains.v1beta1.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1beta1.RegisterParameters.Availability|null); + + /** RegisterParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1beta1.ContactPrivacy[]|null); + + /** RegisterParameters domainNotices */ + domainNotices?: (google.cloud.domains.v1beta1.DomainNotice[]|null); + + /** RegisterParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a RegisterParameters. */ + class RegisterParameters implements IRegisterParameters { + + /** + * Constructs a new RegisterParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IRegisterParameters); + + /** RegisterParameters domainName. */ + public domainName: string; + + /** RegisterParameters availability. */ + public availability: (google.cloud.domains.v1beta1.RegisterParameters.Availability|keyof typeof google.cloud.domains.v1beta1.RegisterParameters.Availability); + + /** RegisterParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1beta1.ContactPrivacy[]; + + /** RegisterParameters domainNotices. */ + public domainNotices: google.cloud.domains.v1beta1.DomainNotice[]; + + /** RegisterParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns RegisterParameters instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IRegisterParameters): google.cloud.domains.v1beta1.RegisterParameters; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterParameters.verify|verify} messages. + * @param message RegisterParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IRegisterParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.RegisterParameters; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.RegisterParameters; + + /** + * Verifies a RegisterParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns RegisterParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.RegisterParameters; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @param message RegisterParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.RegisterParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this RegisterParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for RegisterParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace RegisterParameters { + + /** Availability enum. */ + enum Availability { + AVAILABILITY_UNSPECIFIED = 0, + AVAILABLE = 1, + UNAVAILABLE = 2, + UNSUPPORTED = 3, + UNKNOWN = 4 + } + } + + /** Properties of a TransferParameters. */ + interface ITransferParameters { + + /** TransferParameters domainName */ + domainName?: (string|null); + + /** TransferParameters currentRegistrar */ + currentRegistrar?: (string|null); + + /** TransferParameters nameServers */ + nameServers?: (string[]|null); + + /** TransferParameters transferLockState */ + transferLockState?: (google.cloud.domains.v1beta1.TransferLockState|keyof typeof google.cloud.domains.v1beta1.TransferLockState|null); + + /** TransferParameters supportedPrivacy */ + supportedPrivacy?: (google.cloud.domains.v1beta1.ContactPrivacy[]|null); + + /** TransferParameters yearlyPrice */ + yearlyPrice?: (google.type.IMoney|null); + } + + /** Represents a TransferParameters. */ + class TransferParameters implements ITransferParameters { + + /** + * Constructs a new TransferParameters. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.ITransferParameters); + + /** TransferParameters domainName. */ + public domainName: string; + + /** TransferParameters currentRegistrar. */ + public currentRegistrar: string; + + /** TransferParameters nameServers. */ + public nameServers: string[]; + + /** TransferParameters transferLockState. */ + public transferLockState: (google.cloud.domains.v1beta1.TransferLockState|keyof typeof google.cloud.domains.v1beta1.TransferLockState); + + /** TransferParameters supportedPrivacy. */ + public supportedPrivacy: google.cloud.domains.v1beta1.ContactPrivacy[]; + + /** TransferParameters yearlyPrice. */ + public yearlyPrice?: (google.type.IMoney|null); + + /** + * Creates a new TransferParameters instance using the specified properties. + * @param [properties] Properties to set + * @returns TransferParameters instance + */ + public static create(properties?: google.cloud.domains.v1beta1.ITransferParameters): google.cloud.domains.v1beta1.TransferParameters; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1beta1.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.TransferParameters.verify|verify} messages. + * @param message TransferParameters message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.ITransferParameters, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.TransferParameters; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.TransferParameters; + + /** + * Verifies a TransferParameters message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns TransferParameters + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.TransferParameters; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @param message TransferParameters + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.TransferParameters, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this TransferParameters to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for TransferParameters + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an AuthorizationCode. */ + interface IAuthorizationCode { + + /** AuthorizationCode code */ + code?: (string|null); + } + + /** Represents an AuthorizationCode. */ + class AuthorizationCode implements IAuthorizationCode { + + /** + * Constructs a new AuthorizationCode. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IAuthorizationCode); + + /** AuthorizationCode code. */ + public code: string; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @param [properties] Properties to set + * @returns AuthorizationCode instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IAuthorizationCode): google.cloud.domains.v1beta1.AuthorizationCode; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1beta1.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.cloud.domains.v1beta1.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.AuthorizationCode.verify|verify} messages. + * @param message AuthorizationCode message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.cloud.domains.v1beta1.IAuthorizationCode, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.domains.v1beta1.AuthorizationCode; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.domains.v1beta1.AuthorizationCode; + + /** + * Verifies an AuthorizationCode message. + * @param message Plain 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 AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns AuthorizationCode + */ + public static fromObject(object: { [k: string]: any }): google.cloud.domains.v1beta1.AuthorizationCode; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @param message AuthorizationCode + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.cloud.domains.v1beta1.AuthorizationCode, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this AuthorizationCode to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for AuthorizationCode + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an OperationMetadata. */ + interface IOperationMetadata { + + /** OperationMetadata createTime */ + createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime */ + endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target */ + target?: (string|null); + + /** OperationMetadata verb */ + verb?: (string|null); + + /** OperationMetadata statusDetail */ + statusDetail?: (string|null); + + /** OperationMetadata apiVersion */ + apiVersion?: (string|null); + } + + /** Represents an OperationMetadata. */ + class OperationMetadata implements IOperationMetadata { + + /** + * Constructs a new OperationMetadata. + * @param [properties] Properties to set + */ + constructor(properties?: google.cloud.domains.v1beta1.IOperationMetadata); + + /** OperationMetadata createTime. */ + public createTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata endTime. */ + public endTime?: (google.protobuf.ITimestamp|null); + + /** OperationMetadata target. */ + public target: string; + + /** OperationMetadata verb. */ + public verb: string; + + /** OperationMetadata statusDetail. */ + public statusDetail: string; + + /** OperationMetadata apiVersion. */ + public apiVersion: string; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @param [properties] Properties to set + * @returns OperationMetadata instance + */ + public static create(properties?: google.cloud.domains.v1beta1.IOperationMetadata): google.cloud.domains.v1beta1.OperationMetadata; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.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.cloud.domains.v1beta1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.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.cloud.domains.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.cloud.domains.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.cloud.domains.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.cloud.domains.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.cloud.domains.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; + } + + /** ContactPrivacy enum. */ + enum ContactPrivacy { + CONTACT_PRIVACY_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA = 1, + PRIVATE_CONTACT_DATA = 2, + REDACTED_CONTACT_DATA = 3 + } + + /** DomainNotice enum. */ + enum DomainNotice { + DOMAIN_NOTICE_UNSPECIFIED = 0, + HSTS_PRELOADED = 1 + } + + /** ContactNotice enum. */ + enum ContactNotice { + CONTACT_NOTICE_UNSPECIFIED = 0, + PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT = 1 + } + + /** TransferLockState enum. */ + enum TransferLockState { + TRANSFER_LOCK_STATE_UNSPECIFIED = 0, + UNLOCKED = 1, + LOCKED = 2 + } + } + } + } + + /** Namespace api. */ + namespace api { + + /** Properties of a Http. */ + interface IHttp { + + /** Http rules */ + rules?: (google.api.IHttpRule[]|null); + + /** Http fullyDecodeReservedExpansion */ + fullyDecodeReservedExpansion?: (boolean|null); + } + + /** Represents a Http. */ + class Http implements IHttp { + + /** + * Constructs a new Http. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttp); + + /** Http rules. */ + public rules: google.api.IHttpRule[]; + + /** Http fullyDecodeReservedExpansion. */ + public fullyDecodeReservedExpansion: boolean; + + /** + * Creates a new Http instance using the specified properties. + * @param [properties] Properties to set + * @returns Http instance + */ + public static create(properties?: google.api.IHttp): google.api.Http; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @param message Http message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Http message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http; + + /** + * Verifies a Http message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Http + */ + public static fromObject(object: { [k: string]: any }): google.api.Http; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @param message Http + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Http to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Http + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a HttpRule. */ + interface IHttpRule { + + /** HttpRule selector */ + selector?: (string|null); + + /** HttpRule get */ + get?: (string|null); + + /** HttpRule put */ + put?: (string|null); + + /** HttpRule post */ + post?: (string|null); + + /** HttpRule delete */ + "delete"?: (string|null); + + /** HttpRule patch */ + patch?: (string|null); + + /** HttpRule custom */ + custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body */ + body?: (string|null); + + /** HttpRule responseBody */ + responseBody?: (string|null); + + /** HttpRule additionalBindings */ + additionalBindings?: (google.api.IHttpRule[]|null); + } + + /** Represents a HttpRule. */ + class HttpRule implements IHttpRule { + + /** + * Constructs a new HttpRule. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IHttpRule); + + /** HttpRule selector. */ + public selector: string; + + /** HttpRule get. */ + public get?: (string|null); + + /** HttpRule put. */ + public put?: (string|null); + + /** HttpRule post. */ + public post?: (string|null); + + /** HttpRule delete. */ + public delete?: (string|null); + + /** HttpRule patch. */ + public patch?: (string|null); + + /** HttpRule custom. */ + public custom?: (google.api.ICustomHttpPattern|null); + + /** HttpRule body. */ + public body: string; + + /** HttpRule responseBody. */ + public responseBody: string; + + /** HttpRule additionalBindings. */ + public additionalBindings: google.api.IHttpRule[]; + + /** HttpRule pattern. */ + public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom"); + + /** + * Creates a new HttpRule instance using the specified properties. + * @param [properties] Properties to set + * @returns HttpRule instance + */ + public static create(properties?: google.api.IHttpRule): google.api.HttpRule; + + /** + * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages. + * @param message HttpRule message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a HttpRule message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule; + + /** + * Decodes a HttpRule message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns HttpRule + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule; + + /** + * Verifies a HttpRule message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a HttpRule message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns HttpRule + */ + public static fromObject(object: { [k: string]: any }): google.api.HttpRule; + + /** + * Creates a plain object from a HttpRule message. Also converts values to other types if specified. + * @param message HttpRule + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this HttpRule to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for HttpRule + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a CustomHttpPattern. */ + interface ICustomHttpPattern { + + /** CustomHttpPattern kind */ + kind?: (string|null); + + /** CustomHttpPattern path */ + path?: (string|null); + } + + /** Represents a CustomHttpPattern. */ + class CustomHttpPattern implements ICustomHttpPattern { + + /** + * Constructs a new CustomHttpPattern. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.ICustomHttpPattern); + + /** CustomHttpPattern kind. */ + public kind: string; + + /** CustomHttpPattern path. */ + public path: string; + + /** + * Creates a new CustomHttpPattern instance using the specified properties. + * @param [properties] Properties to set + * @returns CustomHttpPattern instance + */ + public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern; + + /** + * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages. + * @param message CustomHttpPattern message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern; + + /** + * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns CustomHttpPattern + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern; + + /** + * Verifies a CustomHttpPattern message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns CustomHttpPattern + */ + public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern; + + /** + * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified. + * @param message CustomHttpPattern + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this CustomHttpPattern to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for CustomHttpPattern + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** FieldBehavior enum. */ + enum FieldBehavior { + FIELD_BEHAVIOR_UNSPECIFIED = 0, + OPTIONAL = 1, + REQUIRED = 2, + OUTPUT_ONLY = 3, + INPUT_ONLY = 4, + IMMUTABLE = 5, + UNORDERED_LIST = 6, + NON_EMPTY_DEFAULT = 7 + } + + /** Properties of a ResourceDescriptor. */ + interface IResourceDescriptor { + + /** ResourceDescriptor type */ + type?: (string|null); + + /** ResourceDescriptor pattern */ + pattern?: (string[]|null); + + /** ResourceDescriptor nameField */ + nameField?: (string|null); + + /** ResourceDescriptor history */ + history?: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History|null); + + /** ResourceDescriptor plural */ + plural?: (string|null); + + /** ResourceDescriptor singular */ + singular?: (string|null); + + /** ResourceDescriptor style */ + style?: (google.api.ResourceDescriptor.Style[]|null); + } + + /** Represents a ResourceDescriptor. */ + class ResourceDescriptor implements IResourceDescriptor { + + /** + * Constructs a new ResourceDescriptor. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceDescriptor); + + /** ResourceDescriptor type. */ + public type: string; + + /** ResourceDescriptor pattern. */ + public pattern: string[]; + + /** ResourceDescriptor nameField. */ + public nameField: string; + + /** ResourceDescriptor history. */ + public history: (google.api.ResourceDescriptor.History|keyof typeof google.api.ResourceDescriptor.History); + + /** ResourceDescriptor plural. */ + public plural: string; + + /** ResourceDescriptor singular. */ + public singular: string; + + /** ResourceDescriptor style. */ + public style: google.api.ResourceDescriptor.Style[]; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceDescriptor instance + */ + public static create(properties?: google.api.IResourceDescriptor): google.api.ResourceDescriptor; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @param message ResourceDescriptor message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceDescriptor, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceDescriptor; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceDescriptor; + + /** + * Verifies a ResourceDescriptor message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceDescriptor + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceDescriptor; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @param message ResourceDescriptor + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceDescriptor, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceDescriptor to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceDescriptor + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace ResourceDescriptor { + + /** History enum. */ + enum History { + HISTORY_UNSPECIFIED = 0, + ORIGINALLY_SINGLE_PATTERN = 1, + FUTURE_MULTI_PATTERN = 2 + } + + /** Style enum. */ + enum Style { + STYLE_UNSPECIFIED = 0, + DECLARATIVE_FRIENDLY = 1 + } + } + + /** Properties of a ResourceReference. */ + interface IResourceReference { + + /** ResourceReference type */ + type?: (string|null); + + /** ResourceReference childType */ + childType?: (string|null); + } + + /** Represents a ResourceReference. */ + class ResourceReference implements IResourceReference { + + /** + * Constructs a new ResourceReference. + * @param [properties] Properties to set + */ + constructor(properties?: google.api.IResourceReference); + + /** ResourceReference type. */ + public type: string; + + /** ResourceReference childType. */ + public childType: string; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @param [properties] Properties to set + * @returns ResourceReference instance + */ + public static create(properties?: google.api.IResourceReference): google.api.ResourceReference; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @param message ResourceReference message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.api.IResourceReference, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.ResourceReference; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.ResourceReference; + + /** + * Verifies a ResourceReference message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ResourceReference + */ + public static fromObject(object: { [k: string]: any }): google.api.ResourceReference; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @param message ResourceReference + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.api.ResourceReference, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ResourceReference to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ResourceReference + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Namespace protobuf. */ + namespace protobuf { + + /** Properties of a FileDescriptorSet. */ + interface IFileDescriptorSet { + + /** FileDescriptorSet file */ + file?: (google.protobuf.IFileDescriptorProto[]|null); + } + + /** Represents a FileDescriptorSet. */ + class FileDescriptorSet implements IFileDescriptorSet { + + /** + * Constructs a new FileDescriptorSet. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorSet); + + /** FileDescriptorSet file. */ + public file: google.protobuf.IFileDescriptorProto[]; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorSet instance + */ + public static create(properties?: google.protobuf.IFileDescriptorSet): google.protobuf.FileDescriptorSet; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @param message FileDescriptorSet message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorSet, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorSet; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorSet; + + /** + * Verifies a FileDescriptorSet message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorSet + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorSet; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @param message FileDescriptorSet + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorSet, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorSet to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorSet + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileDescriptorProto. */ + interface IFileDescriptorProto { + + /** FileDescriptorProto name */ + name?: (string|null); + + /** FileDescriptorProto package */ + "package"?: (string|null); + + /** FileDescriptorProto dependency */ + dependency?: (string[]|null); + + /** FileDescriptorProto publicDependency */ + publicDependency?: (number[]|null); + + /** FileDescriptorProto weakDependency */ + weakDependency?: (number[]|null); + + /** FileDescriptorProto messageType */ + messageType?: (google.protobuf.IDescriptorProto[]|null); + + /** FileDescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** FileDescriptorProto service */ + service?: (google.protobuf.IServiceDescriptorProto[]|null); + + /** FileDescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** FileDescriptorProto options */ + options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo */ + sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax */ + syntax?: (string|null); + + /** FileDescriptorProto edition */ + edition?: (string|null); + } + + /** Represents a FileDescriptorProto. */ + class FileDescriptorProto implements IFileDescriptorProto { + + /** + * Constructs a new FileDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileDescriptorProto); + + /** FileDescriptorProto name. */ + public name: string; + + /** FileDescriptorProto package. */ + public package: string; + + /** FileDescriptorProto dependency. */ + public dependency: string[]; + + /** FileDescriptorProto publicDependency. */ + public publicDependency: number[]; + + /** FileDescriptorProto weakDependency. */ + public weakDependency: number[]; + + /** FileDescriptorProto messageType. */ + public messageType: google.protobuf.IDescriptorProto[]; + + /** FileDescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** FileDescriptorProto service. */ + public service: google.protobuf.IServiceDescriptorProto[]; + + /** FileDescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** FileDescriptorProto options. */ + public options?: (google.protobuf.IFileOptions|null); + + /** FileDescriptorProto sourceCodeInfo. */ + public sourceCodeInfo?: (google.protobuf.ISourceCodeInfo|null); + + /** FileDescriptorProto syntax. */ + public syntax: string; + + /** FileDescriptorProto edition. */ + public edition: string; + + /** + * Creates a new FileDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FileDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFileDescriptorProto): google.protobuf.FileDescriptorProto; + + /** + * Encodes the specified FileDescriptorProto message. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorProto.verify|verify} messages. + * @param message FileDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileDescriptorProto; + + /** + * Decodes a FileDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileDescriptorProto; + + /** + * Verifies a FileDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileDescriptorProto; + + /** + * Creates a plain object from a FileDescriptorProto message. Also converts values to other types if specified. + * @param message FileDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a DescriptorProto. */ + interface IDescriptorProto { + + /** DescriptorProto name */ + name?: (string|null); + + /** DescriptorProto field */ + field?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto extension */ + extension?: (google.protobuf.IFieldDescriptorProto[]|null); + + /** DescriptorProto nestedType */ + nestedType?: (google.protobuf.IDescriptorProto[]|null); + + /** DescriptorProto enumType */ + enumType?: (google.protobuf.IEnumDescriptorProto[]|null); + + /** DescriptorProto extensionRange */ + extensionRange?: (google.protobuf.DescriptorProto.IExtensionRange[]|null); + + /** DescriptorProto oneofDecl */ + oneofDecl?: (google.protobuf.IOneofDescriptorProto[]|null); + + /** DescriptorProto options */ + options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange */ + reservedRange?: (google.protobuf.DescriptorProto.IReservedRange[]|null); + + /** DescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents a DescriptorProto. */ + class DescriptorProto implements IDescriptorProto { + + /** + * Constructs a new DescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDescriptorProto); + + /** DescriptorProto name. */ + public name: string; + + /** DescriptorProto field. */ + public field: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto extension. */ + public extension: google.protobuf.IFieldDescriptorProto[]; + + /** DescriptorProto nestedType. */ + public nestedType: google.protobuf.IDescriptorProto[]; + + /** DescriptorProto enumType. */ + public enumType: google.protobuf.IEnumDescriptorProto[]; + + /** DescriptorProto extensionRange. */ + public extensionRange: google.protobuf.DescriptorProto.IExtensionRange[]; + + /** DescriptorProto oneofDecl. */ + public oneofDecl: google.protobuf.IOneofDescriptorProto[]; + + /** DescriptorProto options. */ + public options?: (google.protobuf.IMessageOptions|null); + + /** DescriptorProto reservedRange. */ + public reservedRange: google.protobuf.DescriptorProto.IReservedRange[]; + + /** DescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new DescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns DescriptorProto instance + */ + public static create(properties?: google.protobuf.IDescriptorProto): google.protobuf.DescriptorProto; + + /** + * Encodes the specified DescriptorProto message. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified DescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.verify|verify} messages. + * @param message DescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto; + + /** + * Decodes a DescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns DescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto; + + /** + * Verifies a DescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a DescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns DescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto; + + /** + * Creates a plain object from a DescriptorProto message. Also converts values to other types if specified. + * @param message DescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this DescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for DescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace DescriptorProto { + + /** Properties of an ExtensionRange. */ + interface IExtensionRange { + + /** ExtensionRange start */ + start?: (number|null); + + /** ExtensionRange end */ + end?: (number|null); + + /** ExtensionRange options */ + options?: (google.protobuf.IExtensionRangeOptions|null); + } + + /** Represents an ExtensionRange. */ + class ExtensionRange implements IExtensionRange { + + /** + * Constructs a new ExtensionRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IExtensionRange); + + /** ExtensionRange start. */ + public start: number; + + /** ExtensionRange end. */ + public end: number; + + /** ExtensionRange options. */ + public options?: (google.protobuf.IExtensionRangeOptions|null); + + /** + * Creates a new ExtensionRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IExtensionRange): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Encodes the specified ExtensionRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ExtensionRange.verify|verify} messages. + * @param message ExtensionRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IExtensionRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Decodes an ExtensionRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Verifies an ExtensionRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ExtensionRange; + + /** + * Creates a plain object from an ExtensionRange message. Also converts values to other types if specified. + * @param message ExtensionRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ExtensionRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ReservedRange. */ + interface IReservedRange { + + /** ReservedRange start */ + start?: (number|null); + + /** ReservedRange end */ + end?: (number|null); + } + + /** Represents a ReservedRange. */ + class ReservedRange implements IReservedRange { + + /** + * Constructs a new ReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.DescriptorProto.IReservedRange); + + /** ReservedRange start. */ + public start: number; + + /** ReservedRange end. */ + public end: number; + + /** + * Creates a new ReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns ReservedRange instance + */ + public static create(properties?: google.protobuf.DescriptorProto.IReservedRange): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Encodes the specified ReservedRange message. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ReservedRange message, length delimited. Does not implicitly {@link google.protobuf.DescriptorProto.ReservedRange.verify|verify} messages. + * @param message ReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.DescriptorProto.IReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Decodes a ReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Verifies a ReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.DescriptorProto.ReservedRange; + + /** + * Creates a plain object from a ReservedRange message. Also converts values to other types if specified. + * @param message ReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.DescriptorProto.ReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an ExtensionRangeOptions. */ + interface IExtensionRangeOptions { + + /** ExtensionRangeOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an ExtensionRangeOptions. */ + class ExtensionRangeOptions implements IExtensionRangeOptions { + + /** + * Constructs a new ExtensionRangeOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IExtensionRangeOptions); + + /** ExtensionRangeOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ExtensionRangeOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ExtensionRangeOptions instance + */ + public static create(properties?: google.protobuf.IExtensionRangeOptions): google.protobuf.ExtensionRangeOptions; + + /** + * Encodes the specified ExtensionRangeOptions message. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ExtensionRangeOptions message, length delimited. Does not implicitly {@link google.protobuf.ExtensionRangeOptions.verify|verify} messages. + * @param message ExtensionRangeOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IExtensionRangeOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ExtensionRangeOptions; + + /** + * Decodes an ExtensionRangeOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ExtensionRangeOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ExtensionRangeOptions; + + /** + * Verifies an ExtensionRangeOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an ExtensionRangeOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ExtensionRangeOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ExtensionRangeOptions; + + /** + * Creates a plain object from an ExtensionRangeOptions message. Also converts values to other types if specified. + * @param message ExtensionRangeOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ExtensionRangeOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ExtensionRangeOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ExtensionRangeOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldDescriptorProto. */ + interface IFieldDescriptorProto { + + /** FieldDescriptorProto name */ + name?: (string|null); + + /** FieldDescriptorProto number */ + number?: (number|null); + + /** FieldDescriptorProto label */ + label?: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label|null); + + /** FieldDescriptorProto type */ + type?: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type|null); + + /** FieldDescriptorProto typeName */ + typeName?: (string|null); + + /** FieldDescriptorProto extendee */ + extendee?: (string|null); + + /** FieldDescriptorProto defaultValue */ + defaultValue?: (string|null); + + /** FieldDescriptorProto oneofIndex */ + oneofIndex?: (number|null); + + /** FieldDescriptorProto jsonName */ + jsonName?: (string|null); + + /** FieldDescriptorProto options */ + options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional */ + proto3Optional?: (boolean|null); + } + + /** Represents a FieldDescriptorProto. */ + class FieldDescriptorProto implements IFieldDescriptorProto { + + /** + * Constructs a new FieldDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldDescriptorProto); + + /** FieldDescriptorProto name. */ + public name: string; + + /** FieldDescriptorProto number. */ + public number: number; + + /** FieldDescriptorProto label. */ + public label: (google.protobuf.FieldDescriptorProto.Label|keyof typeof google.protobuf.FieldDescriptorProto.Label); + + /** FieldDescriptorProto type. */ + public type: (google.protobuf.FieldDescriptorProto.Type|keyof typeof google.protobuf.FieldDescriptorProto.Type); + + /** FieldDescriptorProto typeName. */ + public typeName: string; + + /** FieldDescriptorProto extendee. */ + public extendee: string; + + /** FieldDescriptorProto defaultValue. */ + public defaultValue: string; + + /** FieldDescriptorProto oneofIndex. */ + public oneofIndex: number; + + /** FieldDescriptorProto jsonName. */ + public jsonName: string; + + /** FieldDescriptorProto options. */ + public options?: (google.protobuf.IFieldOptions|null); + + /** FieldDescriptorProto proto3Optional. */ + public proto3Optional: boolean; + + /** + * Creates a new FieldDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldDescriptorProto instance + */ + public static create(properties?: google.protobuf.IFieldDescriptorProto): google.protobuf.FieldDescriptorProto; + + /** + * Encodes the specified FieldDescriptorProto message. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.FieldDescriptorProto.verify|verify} messages. + * @param message FieldDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldDescriptorProto; + + /** + * Decodes a FieldDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldDescriptorProto; + + /** + * Verifies a FieldDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldDescriptorProto; + + /** + * Creates a plain object from a FieldDescriptorProto message. Also converts values to other types if specified. + * @param message FieldDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldDescriptorProto { + + /** Type enum. */ + enum Type { + TYPE_DOUBLE = 1, + TYPE_FLOAT = 2, + TYPE_INT64 = 3, + TYPE_UINT64 = 4, + TYPE_INT32 = 5, + TYPE_FIXED64 = 6, + TYPE_FIXED32 = 7, + TYPE_BOOL = 8, + TYPE_STRING = 9, + TYPE_GROUP = 10, + TYPE_MESSAGE = 11, + TYPE_BYTES = 12, + TYPE_UINT32 = 13, + TYPE_ENUM = 14, + TYPE_SFIXED32 = 15, + TYPE_SFIXED64 = 16, + TYPE_SINT32 = 17, + TYPE_SINT64 = 18 + } + + /** Label enum. */ + enum Label { + LABEL_OPTIONAL = 1, + LABEL_REQUIRED = 2, + LABEL_REPEATED = 3 + } + } + + /** Properties of an OneofDescriptorProto. */ + interface IOneofDescriptorProto { + + /** OneofDescriptorProto name */ + name?: (string|null); + + /** OneofDescriptorProto options */ + options?: (google.protobuf.IOneofOptions|null); + } + + /** Represents an OneofDescriptorProto. */ + class OneofDescriptorProto implements IOneofDescriptorProto { + + /** + * Constructs a new OneofDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofDescriptorProto); + + /** OneofDescriptorProto name. */ + public name: string; + + /** OneofDescriptorProto options. */ + public options?: (google.protobuf.IOneofOptions|null); + + /** + * Creates a new OneofDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofDescriptorProto instance + */ + public static create(properties?: google.protobuf.IOneofDescriptorProto): google.protobuf.OneofDescriptorProto; + + /** + * Encodes the specified OneofDescriptorProto message. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.OneofDescriptorProto.verify|verify} messages. + * @param message OneofDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofDescriptorProto; + + /** + * Decodes an OneofDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofDescriptorProto; + + /** + * Verifies an OneofDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofDescriptorProto; + + /** + * Creates a plain object from an OneofDescriptorProto message. Also converts values to other types if specified. + * @param message OneofDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumDescriptorProto. */ + interface IEnumDescriptorProto { + + /** EnumDescriptorProto name */ + name?: (string|null); + + /** EnumDescriptorProto value */ + value?: (google.protobuf.IEnumValueDescriptorProto[]|null); + + /** EnumDescriptorProto options */ + options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange */ + reservedRange?: (google.protobuf.EnumDescriptorProto.IEnumReservedRange[]|null); + + /** EnumDescriptorProto reservedName */ + reservedName?: (string[]|null); + } + + /** Represents an EnumDescriptorProto. */ + class EnumDescriptorProto implements IEnumDescriptorProto { + + /** + * Constructs a new EnumDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumDescriptorProto); + + /** EnumDescriptorProto name. */ + public name: string; + + /** EnumDescriptorProto value. */ + public value: google.protobuf.IEnumValueDescriptorProto[]; + + /** EnumDescriptorProto options. */ + public options?: (google.protobuf.IEnumOptions|null); + + /** EnumDescriptorProto reservedRange. */ + public reservedRange: google.protobuf.EnumDescriptorProto.IEnumReservedRange[]; + + /** EnumDescriptorProto reservedName. */ + public reservedName: string[]; + + /** + * Creates a new EnumDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumDescriptorProto): google.protobuf.EnumDescriptorProto; + + /** + * Encodes the specified EnumDescriptorProto message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.verify|verify} messages. + * @param message EnumDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto; + + /** + * Decodes an EnumDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto; + + /** + * Verifies an EnumDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto; + + /** + * Creates a plain object from an EnumDescriptorProto message. Also converts values to other types if specified. + * @param message EnumDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace EnumDescriptorProto { + + /** Properties of an EnumReservedRange. */ + interface IEnumReservedRange { + + /** EnumReservedRange start */ + start?: (number|null); + + /** EnumReservedRange end */ + end?: (number|null); + } + + /** Represents an EnumReservedRange. */ + class EnumReservedRange implements IEnumReservedRange { + + /** + * Constructs a new EnumReservedRange. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange); + + /** EnumReservedRange start. */ + public start: number; + + /** EnumReservedRange end. */ + public end: number; + + /** + * Creates a new EnumReservedRange instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumReservedRange instance + */ + public static create(properties?: google.protobuf.EnumDescriptorProto.IEnumReservedRange): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Encodes the specified EnumReservedRange message. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumReservedRange message, length delimited. Does not implicitly {@link google.protobuf.EnumDescriptorProto.EnumReservedRange.verify|verify} messages. + * @param message EnumReservedRange message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.EnumDescriptorProto.IEnumReservedRange, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Decodes an EnumReservedRange message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumReservedRange + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Verifies an EnumReservedRange message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumReservedRange message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumReservedRange + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumDescriptorProto.EnumReservedRange; + + /** + * Creates a plain object from an EnumReservedRange message. Also converts values to other types if specified. + * @param message EnumReservedRange + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumDescriptorProto.EnumReservedRange, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumReservedRange to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumReservedRange + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of an EnumValueDescriptorProto. */ + interface IEnumValueDescriptorProto { + + /** EnumValueDescriptorProto name */ + name?: (string|null); + + /** EnumValueDescriptorProto number */ + number?: (number|null); + + /** EnumValueDescriptorProto options */ + options?: (google.protobuf.IEnumValueOptions|null); + } + + /** Represents an EnumValueDescriptorProto. */ + class EnumValueDescriptorProto implements IEnumValueDescriptorProto { + + /** + * Constructs a new EnumValueDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueDescriptorProto); + + /** EnumValueDescriptorProto name. */ + public name: string; + + /** EnumValueDescriptorProto number. */ + public number: number; + + /** EnumValueDescriptorProto options. */ + public options?: (google.protobuf.IEnumValueOptions|null); + + /** + * Creates a new EnumValueDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueDescriptorProto instance + */ + public static create(properties?: google.protobuf.IEnumValueDescriptorProto): google.protobuf.EnumValueDescriptorProto; + + /** + * Encodes the specified EnumValueDescriptorProto message. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.EnumValueDescriptorProto.verify|verify} messages. + * @param message EnumValueDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueDescriptorProto; + + /** + * Decodes an EnumValueDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueDescriptorProto; + + /** + * Verifies an EnumValueDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueDescriptorProto; + + /** + * Creates a plain object from an EnumValueDescriptorProto message. Also converts values to other types if specified. + * @param message EnumValueDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceDescriptorProto. */ + interface IServiceDescriptorProto { + + /** ServiceDescriptorProto name */ + name?: (string|null); + + /** ServiceDescriptorProto method */ + method?: (google.protobuf.IMethodDescriptorProto[]|null); + + /** ServiceDescriptorProto options */ + options?: (google.protobuf.IServiceOptions|null); + } + + /** Represents a ServiceDescriptorProto. */ + class ServiceDescriptorProto implements IServiceDescriptorProto { + + /** + * Constructs a new ServiceDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceDescriptorProto); + + /** ServiceDescriptorProto name. */ + public name: string; + + /** ServiceDescriptorProto method. */ + public method: google.protobuf.IMethodDescriptorProto[]; + + /** ServiceDescriptorProto options. */ + public options?: (google.protobuf.IServiceOptions|null); + + /** + * Creates a new ServiceDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceDescriptorProto instance + */ + public static create(properties?: google.protobuf.IServiceDescriptorProto): google.protobuf.ServiceDescriptorProto; + + /** + * Encodes the specified ServiceDescriptorProto message. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.ServiceDescriptorProto.verify|verify} messages. + * @param message ServiceDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceDescriptorProto; + + /** + * Decodes a ServiceDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceDescriptorProto; + + /** + * Verifies a ServiceDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceDescriptorProto; + + /** + * Creates a plain object from a ServiceDescriptorProto message. Also converts values to other types if specified. + * @param message ServiceDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodDescriptorProto. */ + interface IMethodDescriptorProto { + + /** MethodDescriptorProto name */ + name?: (string|null); + + /** MethodDescriptorProto inputType */ + inputType?: (string|null); + + /** MethodDescriptorProto outputType */ + outputType?: (string|null); + + /** MethodDescriptorProto options */ + options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming */ + clientStreaming?: (boolean|null); + + /** MethodDescriptorProto serverStreaming */ + serverStreaming?: (boolean|null); + } + + /** Represents a MethodDescriptorProto. */ + class MethodDescriptorProto implements IMethodDescriptorProto { + + /** + * Constructs a new MethodDescriptorProto. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodDescriptorProto); + + /** MethodDescriptorProto name. */ + public name: string; + + /** MethodDescriptorProto inputType. */ + public inputType: string; + + /** MethodDescriptorProto outputType. */ + public outputType: string; + + /** MethodDescriptorProto options. */ + public options?: (google.protobuf.IMethodOptions|null); + + /** MethodDescriptorProto clientStreaming. */ + public clientStreaming: boolean; + + /** MethodDescriptorProto serverStreaming. */ + public serverStreaming: boolean; + + /** + * Creates a new MethodDescriptorProto instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodDescriptorProto instance + */ + public static create(properties?: google.protobuf.IMethodDescriptorProto): google.protobuf.MethodDescriptorProto; + + /** + * Encodes the specified MethodDescriptorProto message. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodDescriptorProto message, length delimited. Does not implicitly {@link google.protobuf.MethodDescriptorProto.verify|verify} messages. + * @param message MethodDescriptorProto message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodDescriptorProto, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodDescriptorProto; + + /** + * Decodes a MethodDescriptorProto message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodDescriptorProto + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodDescriptorProto; + + /** + * Verifies a MethodDescriptorProto message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodDescriptorProto message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodDescriptorProto + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodDescriptorProto; + + /** + * Creates a plain object from a MethodDescriptorProto message. Also converts values to other types if specified. + * @param message MethodDescriptorProto + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodDescriptorProto, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodDescriptorProto to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodDescriptorProto + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FileOptions. */ + interface IFileOptions { + + /** FileOptions javaPackage */ + javaPackage?: (string|null); + + /** FileOptions javaOuterClassname */ + javaOuterClassname?: (string|null); + + /** FileOptions javaMultipleFiles */ + javaMultipleFiles?: (boolean|null); + + /** FileOptions javaGenerateEqualsAndHash */ + javaGenerateEqualsAndHash?: (boolean|null); + + /** FileOptions javaStringCheckUtf8 */ + javaStringCheckUtf8?: (boolean|null); + + /** FileOptions optimizeFor */ + optimizeFor?: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode|null); + + /** FileOptions goPackage */ + goPackage?: (string|null); + + /** FileOptions ccGenericServices */ + ccGenericServices?: (boolean|null); + + /** FileOptions javaGenericServices */ + javaGenericServices?: (boolean|null); + + /** FileOptions pyGenericServices */ + pyGenericServices?: (boolean|null); + + /** FileOptions phpGenericServices */ + phpGenericServices?: (boolean|null); + + /** FileOptions deprecated */ + deprecated?: (boolean|null); + + /** FileOptions ccEnableArenas */ + ccEnableArenas?: (boolean|null); + + /** FileOptions objcClassPrefix */ + objcClassPrefix?: (string|null); + + /** FileOptions csharpNamespace */ + csharpNamespace?: (string|null); + + /** FileOptions swiftPrefix */ + swiftPrefix?: (string|null); + + /** FileOptions phpClassPrefix */ + phpClassPrefix?: (string|null); + + /** FileOptions phpNamespace */ + phpNamespace?: (string|null); + + /** FileOptions phpMetadataNamespace */ + phpMetadataNamespace?: (string|null); + + /** FileOptions rubyPackage */ + rubyPackage?: (string|null); + + /** FileOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FileOptions .google.api.resourceDefinition */ + ".google.api.resourceDefinition"?: (google.api.IResourceDescriptor[]|null); + } + + /** Represents a FileOptions. */ + class FileOptions implements IFileOptions { + + /** + * Constructs a new FileOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFileOptions); + + /** FileOptions javaPackage. */ + public javaPackage: string; + + /** FileOptions javaOuterClassname. */ + public javaOuterClassname: string; + + /** FileOptions javaMultipleFiles. */ + public javaMultipleFiles: boolean; + + /** FileOptions javaGenerateEqualsAndHash. */ + public javaGenerateEqualsAndHash: boolean; + + /** FileOptions javaStringCheckUtf8. */ + public javaStringCheckUtf8: boolean; + + /** FileOptions optimizeFor. */ + public optimizeFor: (google.protobuf.FileOptions.OptimizeMode|keyof typeof google.protobuf.FileOptions.OptimizeMode); + + /** FileOptions goPackage. */ + public goPackage: string; + + /** FileOptions ccGenericServices. */ + public ccGenericServices: boolean; + + /** FileOptions javaGenericServices. */ + public javaGenericServices: boolean; + + /** FileOptions pyGenericServices. */ + public pyGenericServices: boolean; + + /** FileOptions phpGenericServices. */ + public phpGenericServices: boolean; + + /** FileOptions deprecated. */ + public deprecated: boolean; + + /** FileOptions ccEnableArenas. */ + public ccEnableArenas: boolean; + + /** FileOptions objcClassPrefix. */ + public objcClassPrefix: string; + + /** FileOptions csharpNamespace. */ + public csharpNamespace: string; + + /** FileOptions swiftPrefix. */ + public swiftPrefix: string; + + /** FileOptions phpClassPrefix. */ + public phpClassPrefix: string; + + /** FileOptions phpNamespace. */ + public phpNamespace: string; + + /** FileOptions phpMetadataNamespace. */ + public phpMetadataNamespace: string; + + /** FileOptions rubyPackage. */ + public rubyPackage: string; + + /** FileOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FileOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FileOptions instance + */ + public static create(properties?: google.protobuf.IFileOptions): google.protobuf.FileOptions; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @param message FileOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFileOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FileOptions; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FileOptions; + + /** + * Verifies a FileOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FileOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FileOptions; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @param message FileOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FileOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FileOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FileOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FileOptions { + + /** OptimizeMode enum. */ + enum OptimizeMode { + SPEED = 1, + CODE_SIZE = 2, + LITE_RUNTIME = 3 + } + } + + /** Properties of a MessageOptions. */ + interface IMessageOptions { + + /** MessageOptions messageSetWireFormat */ + messageSetWireFormat?: (boolean|null); + + /** MessageOptions noStandardDescriptorAccessor */ + noStandardDescriptorAccessor?: (boolean|null); + + /** MessageOptions deprecated */ + deprecated?: (boolean|null); + + /** MessageOptions mapEntry */ + mapEntry?: (boolean|null); + + /** MessageOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MessageOptions .google.api.resource */ + ".google.api.resource"?: (google.api.IResourceDescriptor|null); + } + + /** Represents a MessageOptions. */ + class MessageOptions implements IMessageOptions { + + /** + * Constructs a new MessageOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMessageOptions); + + /** MessageOptions messageSetWireFormat. */ + public messageSetWireFormat: boolean; + + /** MessageOptions noStandardDescriptorAccessor. */ + public noStandardDescriptorAccessor: boolean; + + /** MessageOptions deprecated. */ + public deprecated: boolean; + + /** MessageOptions mapEntry. */ + public mapEntry: boolean; + + /** MessageOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MessageOptions instance + */ + public static create(properties?: google.protobuf.IMessageOptions): google.protobuf.MessageOptions; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @param message MessageOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMessageOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MessageOptions; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MessageOptions; + + /** + * Verifies a MessageOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MessageOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MessageOptions; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @param message MessageOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MessageOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MessageOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MessageOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a FieldOptions. */ + interface IFieldOptions { + + /** FieldOptions ctype */ + ctype?: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType|null); + + /** FieldOptions packed */ + packed?: (boolean|null); + + /** FieldOptions jstype */ + jstype?: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType|null); + + /** FieldOptions lazy */ + lazy?: (boolean|null); + + /** FieldOptions unverifiedLazy */ + unverifiedLazy?: (boolean|null); + + /** FieldOptions deprecated */ + deprecated?: (boolean|null); + + /** FieldOptions weak */ + weak?: (boolean|null); + + /** FieldOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** FieldOptions .google.api.fieldBehavior */ + ".google.api.fieldBehavior"?: (google.api.FieldBehavior[]|null); + + /** FieldOptions .google.api.resourceReference */ + ".google.api.resourceReference"?: (google.api.IResourceReference|null); + } + + /** Represents a FieldOptions. */ + class FieldOptions implements IFieldOptions { + + /** + * Constructs a new FieldOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IFieldOptions); + + /** FieldOptions ctype. */ + public ctype: (google.protobuf.FieldOptions.CType|keyof typeof google.protobuf.FieldOptions.CType); + + /** FieldOptions packed. */ + public packed: boolean; + + /** FieldOptions jstype. */ + public jstype: (google.protobuf.FieldOptions.JSType|keyof typeof google.protobuf.FieldOptions.JSType); + + /** FieldOptions lazy. */ + public lazy: boolean; + + /** FieldOptions unverifiedLazy. */ + public unverifiedLazy: boolean; + + /** FieldOptions deprecated. */ + public deprecated: boolean; + + /** FieldOptions weak. */ + public weak: boolean; + + /** FieldOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns FieldOptions instance + */ + public static create(properties?: google.protobuf.IFieldOptions): google.protobuf.FieldOptions; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @param message FieldOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IFieldOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldOptions; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldOptions; + + /** + * Verifies a FieldOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns FieldOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.FieldOptions; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @param message FieldOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.FieldOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this FieldOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for FieldOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace FieldOptions { + + /** CType enum. */ + enum CType { + STRING = 0, + CORD = 1, + STRING_PIECE = 2 + } + + /** JSType enum. */ + enum JSType { + JS_NORMAL = 0, + JS_STRING = 1, + JS_NUMBER = 2 + } + } + + /** Properties of an OneofOptions. */ + interface IOneofOptions { + + /** OneofOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an OneofOptions. */ + class OneofOptions implements IOneofOptions { + + /** + * Constructs a new OneofOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IOneofOptions); + + /** OneofOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new OneofOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns OneofOptions instance + */ + public static create(properties?: google.protobuf.IOneofOptions): google.protobuf.OneofOptions; + + /** + * Encodes the specified OneofOptions message. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified OneofOptions message, length delimited. Does not implicitly {@link google.protobuf.OneofOptions.verify|verify} messages. + * @param message OneofOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IOneofOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an OneofOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.OneofOptions; + + /** + * Decodes an OneofOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns OneofOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.OneofOptions; + + /** + * Verifies an OneofOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an OneofOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns OneofOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.OneofOptions; + + /** + * Creates a plain object from an OneofOptions message. Also converts values to other types if specified. + * @param message OneofOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.OneofOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this OneofOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for OneofOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumOptions. */ + interface IEnumOptions { + + /** EnumOptions allowAlias */ + allowAlias?: (boolean|null); + + /** EnumOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumOptions. */ + class EnumOptions implements IEnumOptions { + + /** + * Constructs a new EnumOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumOptions); + + /** EnumOptions allowAlias. */ + public allowAlias: boolean; + + /** EnumOptions deprecated. */ + public deprecated: boolean; + + /** EnumOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumOptions instance + */ + public static create(properties?: google.protobuf.IEnumOptions): google.protobuf.EnumOptions; + + /** + * Encodes the specified EnumOptions message. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumOptions.verify|verify} messages. + * @param message EnumOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumOptions; + + /** + * Decodes an EnumOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumOptions; + + /** + * Verifies an EnumOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumOptions; + + /** + * Creates a plain object from an EnumOptions message. Also converts values to other types if specified. + * @param message EnumOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an EnumValueOptions. */ + interface IEnumValueOptions { + + /** EnumValueOptions deprecated */ + deprecated?: (boolean|null); + + /** EnumValueOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + } + + /** Represents an EnumValueOptions. */ + class EnumValueOptions implements IEnumValueOptions { + + /** + * Constructs a new EnumValueOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEnumValueOptions); + + /** EnumValueOptions deprecated. */ + public deprecated: boolean; + + /** EnumValueOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new EnumValueOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns EnumValueOptions instance + */ + public static create(properties?: google.protobuf.IEnumValueOptions): google.protobuf.EnumValueOptions; + + /** + * Encodes the specified EnumValueOptions message. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified EnumValueOptions message, length delimited. Does not implicitly {@link google.protobuf.EnumValueOptions.verify|verify} messages. + * @param message EnumValueOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEnumValueOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.EnumValueOptions; + + /** + * Decodes an EnumValueOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns EnumValueOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.EnumValueOptions; + + /** + * Verifies an EnumValueOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an EnumValueOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns EnumValueOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.EnumValueOptions; + + /** + * Creates a plain object from an EnumValueOptions message. Also converts values to other types if specified. + * @param message EnumValueOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.EnumValueOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this EnumValueOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for EnumValueOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a ServiceOptions. */ + interface IServiceOptions { + + /** ServiceOptions deprecated */ + deprecated?: (boolean|null); + + /** ServiceOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** ServiceOptions .google.api.defaultHost */ + ".google.api.defaultHost"?: (string|null); + + /** ServiceOptions .google.api.oauthScopes */ + ".google.api.oauthScopes"?: (string|null); + } + + /** Represents a ServiceOptions. */ + class ServiceOptions implements IServiceOptions { + + /** + * Constructs a new ServiceOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IServiceOptions); + + /** ServiceOptions deprecated. */ + public deprecated: boolean; + + /** ServiceOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new ServiceOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns ServiceOptions instance + */ + public static create(properties?: google.protobuf.IServiceOptions): google.protobuf.ServiceOptions; + + /** + * Encodes the specified ServiceOptions message. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified ServiceOptions message, length delimited. Does not implicitly {@link google.protobuf.ServiceOptions.verify|verify} messages. + * @param message ServiceOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IServiceOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.ServiceOptions; + + /** + * Decodes a ServiceOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns ServiceOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.ServiceOptions; + + /** + * Verifies a ServiceOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a ServiceOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns ServiceOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.ServiceOptions; + + /** + * Creates a plain object from a ServiceOptions message. Also converts values to other types if specified. + * @param message ServiceOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.ServiceOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this ServiceOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for ServiceOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a MethodOptions. */ + interface IMethodOptions { + + /** MethodOptions deprecated */ + deprecated?: (boolean|null); + + /** MethodOptions idempotencyLevel */ + idempotencyLevel?: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel|null); + + /** MethodOptions uninterpretedOption */ + uninterpretedOption?: (google.protobuf.IUninterpretedOption[]|null); + + /** MethodOptions .google.api.http */ + ".google.api.http"?: (google.api.IHttpRule|null); + + /** MethodOptions .google.api.methodSignature */ + ".google.api.methodSignature"?: (string[]|null); + + /** MethodOptions .google.longrunning.operationInfo */ + ".google.longrunning.operationInfo"?: (google.longrunning.IOperationInfo|null); + } + + /** Represents a MethodOptions. */ + class MethodOptions implements IMethodOptions { + + /** + * Constructs a new MethodOptions. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IMethodOptions); + + /** MethodOptions deprecated. */ + public deprecated: boolean; + + /** MethodOptions idempotencyLevel. */ + public idempotencyLevel: (google.protobuf.MethodOptions.IdempotencyLevel|keyof typeof google.protobuf.MethodOptions.IdempotencyLevel); + + /** MethodOptions uninterpretedOption. */ + public uninterpretedOption: google.protobuf.IUninterpretedOption[]; + + /** + * Creates a new MethodOptions instance using the specified properties. + * @param [properties] Properties to set + * @returns MethodOptions instance + */ + public static create(properties?: google.protobuf.IMethodOptions): google.protobuf.MethodOptions; + + /** + * Encodes the specified MethodOptions message. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified MethodOptions message, length delimited. Does not implicitly {@link google.protobuf.MethodOptions.verify|verify} messages. + * @param message MethodOptions message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IMethodOptions, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a MethodOptions message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.MethodOptions; + + /** + * Decodes a MethodOptions message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns MethodOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.MethodOptions; + + /** + * Verifies a MethodOptions message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a MethodOptions message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns MethodOptions + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.MethodOptions; + + /** + * Creates a plain object from a MethodOptions message. Also converts values to other types if specified. + * @param message MethodOptions + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.MethodOptions, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this MethodOptions to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for MethodOptions + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace MethodOptions { + + /** IdempotencyLevel enum. */ + enum IdempotencyLevel { + IDEMPOTENCY_UNKNOWN = 0, + NO_SIDE_EFFECTS = 1, + IDEMPOTENT = 2 + } + } + + /** Properties of an UninterpretedOption. */ + interface IUninterpretedOption { + + /** UninterpretedOption name */ + name?: (google.protobuf.UninterpretedOption.INamePart[]|null); + + /** UninterpretedOption identifierValue */ + identifierValue?: (string|null); + + /** UninterpretedOption positiveIntValue */ + positiveIntValue?: (number|Long|string|null); + + /** UninterpretedOption negativeIntValue */ + negativeIntValue?: (number|Long|string|null); + + /** UninterpretedOption doubleValue */ + doubleValue?: (number|null); + + /** UninterpretedOption stringValue */ + stringValue?: (Uint8Array|string|null); + + /** UninterpretedOption aggregateValue */ + aggregateValue?: (string|null); + } + + /** Represents an UninterpretedOption. */ + class UninterpretedOption implements IUninterpretedOption { + + /** + * Constructs a new UninterpretedOption. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IUninterpretedOption); + + /** UninterpretedOption name. */ + public name: google.protobuf.UninterpretedOption.INamePart[]; + + /** UninterpretedOption identifierValue. */ + public identifierValue: string; + + /** UninterpretedOption positiveIntValue. */ + public positiveIntValue: (number|Long|string); + + /** UninterpretedOption negativeIntValue. */ + public negativeIntValue: (number|Long|string); + + /** UninterpretedOption doubleValue. */ + public doubleValue: number; + + /** UninterpretedOption stringValue. */ + public stringValue: (Uint8Array|string); + + /** UninterpretedOption aggregateValue. */ + public aggregateValue: string; + + /** + * Creates a new UninterpretedOption instance using the specified properties. + * @param [properties] Properties to set + * @returns UninterpretedOption instance + */ + public static create(properties?: google.protobuf.IUninterpretedOption): google.protobuf.UninterpretedOption; + + /** + * Encodes the specified UninterpretedOption message. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified UninterpretedOption message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.verify|verify} messages. + * @param message UninterpretedOption message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IUninterpretedOption, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption; + + /** + * Decodes an UninterpretedOption message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns UninterpretedOption + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption; + + /** + * Verifies an UninterpretedOption message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an UninterpretedOption message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns UninterpretedOption + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption; + + /** + * Creates a plain object from an UninterpretedOption message. Also converts values to other types if specified. + * @param message UninterpretedOption + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this UninterpretedOption to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for UninterpretedOption + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace UninterpretedOption { + + /** Properties of a NamePart. */ + interface INamePart { + + /** NamePart namePart */ + namePart: string; + + /** NamePart isExtension */ + isExtension: boolean; + } + + /** Represents a NamePart. */ + class NamePart implements INamePart { + + /** + * Constructs a new NamePart. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.UninterpretedOption.INamePart); + + /** NamePart namePart. */ + public namePart: string; + + /** NamePart isExtension. */ + public isExtension: boolean; + + /** + * Creates a new NamePart instance using the specified properties. + * @param [properties] Properties to set + * @returns NamePart instance + */ + public static create(properties?: google.protobuf.UninterpretedOption.INamePart): google.protobuf.UninterpretedOption.NamePart; + + /** + * Encodes the specified NamePart message. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified NamePart message, length delimited. Does not implicitly {@link google.protobuf.UninterpretedOption.NamePart.verify|verify} messages. + * @param message NamePart message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.UninterpretedOption.INamePart, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a NamePart message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.UninterpretedOption.NamePart; + + /** + * Decodes a NamePart message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns NamePart + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.UninterpretedOption.NamePart; + + /** + * Verifies a NamePart message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a NamePart message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns NamePart + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.UninterpretedOption.NamePart; + + /** + * Creates a plain object from a NamePart message. Also converts values to other types if specified. + * @param message NamePart + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.UninterpretedOption.NamePart, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this NamePart to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for NamePart + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a SourceCodeInfo. */ + interface ISourceCodeInfo { + + /** SourceCodeInfo location */ + location?: (google.protobuf.SourceCodeInfo.ILocation[]|null); + } + + /** Represents a SourceCodeInfo. */ + class SourceCodeInfo implements ISourceCodeInfo { + + /** + * Constructs a new SourceCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ISourceCodeInfo); + + /** SourceCodeInfo location. */ + public location: google.protobuf.SourceCodeInfo.ILocation[]; + + /** + * Creates a new SourceCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns SourceCodeInfo instance + */ + public static create(properties?: google.protobuf.ISourceCodeInfo): google.protobuf.SourceCodeInfo; + + /** + * Encodes the specified SourceCodeInfo message. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified SourceCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.verify|verify} messages. + * @param message SourceCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ISourceCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo; + + /** + * Decodes a SourceCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns SourceCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo; + + /** + * Verifies a SourceCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a SourceCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns SourceCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo; + + /** + * Creates a plain object from a SourceCodeInfo message. Also converts values to other types if specified. + * @param message SourceCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this SourceCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for SourceCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace SourceCodeInfo { + + /** Properties of a Location. */ + interface ILocation { + + /** Location path */ + path?: (number[]|null); + + /** Location span */ + span?: (number[]|null); + + /** Location leadingComments */ + leadingComments?: (string|null); + + /** Location trailingComments */ + trailingComments?: (string|null); + + /** Location leadingDetachedComments */ + leadingDetachedComments?: (string[]|null); + } + + /** Represents a Location. */ + class Location implements ILocation { + + /** + * Constructs a new Location. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.SourceCodeInfo.ILocation); + + /** Location path. */ + public path: number[]; + + /** Location span. */ + public span: number[]; + + /** Location leadingComments. */ + public leadingComments: string; + + /** Location trailingComments. */ + public trailingComments: string; + + /** Location leadingDetachedComments. */ + public leadingDetachedComments: string[]; + + /** + * Creates a new Location instance using the specified properties. + * @param [properties] Properties to set + * @returns Location instance + */ + public static create(properties?: google.protobuf.SourceCodeInfo.ILocation): google.protobuf.SourceCodeInfo.Location; + + /** + * Encodes the specified Location message. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Location message, length delimited. Does not implicitly {@link google.protobuf.SourceCodeInfo.Location.verify|verify} messages. + * @param message Location message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.SourceCodeInfo.ILocation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Location message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.SourceCodeInfo.Location; + + /** + * Decodes a Location message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Location + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.SourceCodeInfo.Location; + + /** + * Verifies a Location message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Location message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Location + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.SourceCodeInfo.Location; + + /** + * Creates a plain object from a Location message. Also converts values to other types if specified. + * @param message Location + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.SourceCodeInfo.Location, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Location to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Location + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** Properties of a GeneratedCodeInfo. */ + interface IGeneratedCodeInfo { + + /** GeneratedCodeInfo annotation */ + annotation?: (google.protobuf.GeneratedCodeInfo.IAnnotation[]|null); + } + + /** Represents a GeneratedCodeInfo. */ + class GeneratedCodeInfo implements IGeneratedCodeInfo { + + /** + * Constructs a new GeneratedCodeInfo. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IGeneratedCodeInfo); + + /** GeneratedCodeInfo annotation. */ + public annotation: google.protobuf.GeneratedCodeInfo.IAnnotation[]; + + /** + * Creates a new GeneratedCodeInfo instance using the specified properties. + * @param [properties] Properties to set + * @returns GeneratedCodeInfo instance + */ + public static create(properties?: google.protobuf.IGeneratedCodeInfo): google.protobuf.GeneratedCodeInfo; + + /** + * Encodes the specified GeneratedCodeInfo message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified GeneratedCodeInfo message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.verify|verify} messages. + * @param message GeneratedCodeInfo message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IGeneratedCodeInfo, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo; + + /** + * Decodes a GeneratedCodeInfo message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns GeneratedCodeInfo + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo; + + /** + * Verifies a GeneratedCodeInfo message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a GeneratedCodeInfo message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns GeneratedCodeInfo + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo; + + /** + * Creates a plain object from a GeneratedCodeInfo message. Also converts values to other types if specified. + * @param message GeneratedCodeInfo + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this GeneratedCodeInfo to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for GeneratedCodeInfo + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace GeneratedCodeInfo { + + /** Properties of an Annotation. */ + interface IAnnotation { + + /** Annotation path */ + path?: (number[]|null); + + /** Annotation sourceFile */ + sourceFile?: (string|null); + + /** Annotation begin */ + begin?: (number|null); + + /** Annotation end */ + end?: (number|null); + + /** Annotation semantic */ + semantic?: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic|null); + } + + /** Represents an Annotation. */ + class Annotation implements IAnnotation { + + /** + * Constructs a new Annotation. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation); + + /** Annotation path. */ + public path: number[]; + + /** Annotation sourceFile. */ + public sourceFile: string; + + /** Annotation begin. */ + public begin: number; + + /** Annotation end. */ + public end: number; + + /** Annotation semantic. */ + public semantic: (google.protobuf.GeneratedCodeInfo.Annotation.Semantic|keyof typeof google.protobuf.GeneratedCodeInfo.Annotation.Semantic); + + /** + * Creates a new Annotation instance using the specified properties. + * @param [properties] Properties to set + * @returns Annotation instance + */ + public static create(properties?: google.protobuf.GeneratedCodeInfo.IAnnotation): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Encodes the specified Annotation message. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Annotation message, length delimited. Does not implicitly {@link google.protobuf.GeneratedCodeInfo.Annotation.verify|verify} messages. + * @param message Annotation message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.GeneratedCodeInfo.IAnnotation, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Annotation message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Decodes an Annotation message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Annotation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Verifies an Annotation message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Annotation message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Annotation + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.GeneratedCodeInfo.Annotation; + + /** + * Creates a plain object from an Annotation message. Also converts values to other types if specified. + * @param message Annotation + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.GeneratedCodeInfo.Annotation, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Annotation to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Annotation + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + namespace Annotation { + + /** Semantic enum. */ + enum Semantic { + NONE = 0, + SET = 1, + ALIAS = 2 + } + } + } + + /** Properties of an Any. */ + interface IAny { + + /** Any type_url */ + type_url?: (string|null); + + /** Any value */ + value?: (Uint8Array|string|null); + } + + /** Represents an Any. */ + class Any implements IAny { + + /** + * Constructs a new Any. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IAny); + + /** Any type_url. */ + public type_url: string; + + /** Any value. */ + public value: (Uint8Array|string); + + /** + * Creates a new Any instance using the specified properties. + * @param [properties] Properties to set + * @returns Any instance + */ + public static create(properties?: google.protobuf.IAny): google.protobuf.Any; + + /** + * Encodes the specified Any message. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Any message, length delimited. Does not implicitly {@link google.protobuf.Any.verify|verify} messages. + * @param message Any message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IAny, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Any message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Any; + + /** + * Decodes an Any message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Any + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Any; + + /** + * Verifies an Any message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Any message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Any + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Any; + + /** + * Creates a plain object from an Any message. Also converts values to other types if specified. + * @param message Any + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Any, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Any to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Any + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a Duration. */ + interface IDuration { + + /** Duration seconds */ + seconds?: (number|Long|string|null); + + /** Duration nanos */ + nanos?: (number|null); + } + + /** Represents a Duration. */ + class Duration implements IDuration { + + /** + * Constructs a new Duration. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IDuration); + + /** Duration seconds. */ + public seconds: (number|Long|string); + + /** Duration nanos. */ + public nanos: number; + + /** + * Creates a new Duration instance using the specified properties. + * @param [properties] Properties to set + * @returns Duration instance + */ + public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration; + + /** + * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages. + * @param message Duration message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Duration message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration; + + /** + * Decodes a Duration message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Duration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration; + + /** + * Verifies a Duration message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Duration message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Duration + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Duration; + + /** + * Creates a plain object from a Duration message. Also converts values to other types if specified. + * @param message Duration + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Duration to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Duration + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of an Empty. */ + interface IEmpty { + } + + /** Represents an Empty. */ + class Empty implements IEmpty { + + /** + * Constructs a new Empty. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.IEmpty); + + /** + * Creates a new Empty instance using the specified properties. + * @param [properties] Properties to set + * @returns Empty instance + */ + public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty; + + /** + * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages. + * @param message Empty message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes an Empty message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty; + + /** + * Decodes an Empty message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Empty + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty; + + /** + * Verifies an Empty message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates an Empty message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Empty + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Empty; + + /** + * Creates a plain object from an Empty message. Also converts values to other types if specified. + * @param message Empty + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Empty to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Empty + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a 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; + } + + /** Properties of a Timestamp. */ + interface ITimestamp { + + /** Timestamp seconds */ + seconds?: (number|Long|string|null); + + /** Timestamp nanos */ + nanos?: (number|null); + } + + /** Represents a Timestamp. */ + class Timestamp implements ITimestamp { + + /** + * Constructs a new Timestamp. + * @param [properties] Properties to set + */ + constructor(properties?: google.protobuf.ITimestamp); + + /** Timestamp seconds. */ + public seconds: (number|Long|string); + + /** Timestamp nanos. */ + public nanos: number; + + /** + * Creates a new Timestamp instance using the specified properties. + * @param [properties] Properties to set + * @returns Timestamp instance + */ + public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @param message Timestamp message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp; + + /** + * Verifies a Timestamp message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Timestamp + */ + public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @param message Timestamp + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Timestamp to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Timestamp + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } + + /** 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; + } + } + + /** Namespace type. */ + namespace type { + + /** Properties of a Money. */ + interface IMoney { + + /** Money currencyCode */ + currencyCode?: (string|null); + + /** Money units */ + units?: (number|Long|string|null); + + /** Money nanos */ + nanos?: (number|null); + } + + /** Represents a Money. */ + class Money implements IMoney { + + /** + * Constructs a new Money. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.IMoney); + + /** Money currencyCode. */ + public currencyCode: string; + + /** Money units. */ + public units: (number|Long|string); + + /** Money nanos. */ + public nanos: number; + + /** + * Creates a new Money instance using the specified properties. + * @param [properties] Properties to set + * @returns Money instance + */ + public static create(properties?: google.type.IMoney): google.type.Money; + + /** + * Encodes the specified Money message. Does not implicitly {@link google.type.Money.verify|verify} messages. + * @param message Money message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified Money message, length delimited. Does not implicitly {@link google.type.Money.verify|verify} messages. + * @param message Money message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.IMoney, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a Money message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns Money + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.Money; + + /** + * Decodes a Money message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns Money + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.Money; + + /** + * Verifies a Money message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a Money message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns Money + */ + public static fromObject(object: { [k: string]: any }): google.type.Money; + + /** + * Creates a plain object from a Money message. Also converts values to other types if specified. + * @param message Money + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.Money, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this Money to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for Money + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + + /** Properties of a PostalAddress. */ + interface IPostalAddress { + + /** PostalAddress revision */ + revision?: (number|null); + + /** PostalAddress regionCode */ + regionCode?: (string|null); + + /** PostalAddress languageCode */ + languageCode?: (string|null); + + /** PostalAddress postalCode */ + postalCode?: (string|null); + + /** PostalAddress sortingCode */ + sortingCode?: (string|null); + + /** PostalAddress administrativeArea */ + administrativeArea?: (string|null); + + /** PostalAddress locality */ + locality?: (string|null); + + /** PostalAddress sublocality */ + sublocality?: (string|null); + + /** PostalAddress addressLines */ + addressLines?: (string[]|null); + + /** PostalAddress recipients */ + recipients?: (string[]|null); + + /** PostalAddress organization */ + organization?: (string|null); + } + + /** Represents a PostalAddress. */ + class PostalAddress implements IPostalAddress { + + /** + * Constructs a new PostalAddress. + * @param [properties] Properties to set + */ + constructor(properties?: google.type.IPostalAddress); + + /** PostalAddress revision. */ + public revision: number; + + /** PostalAddress regionCode. */ + public regionCode: string; + + /** PostalAddress languageCode. */ + public languageCode: string; + + /** PostalAddress postalCode. */ + public postalCode: string; + + /** PostalAddress sortingCode. */ + public sortingCode: string; + + /** PostalAddress administrativeArea. */ + public administrativeArea: string; + + /** PostalAddress locality. */ + public locality: string; + + /** PostalAddress sublocality. */ + public sublocality: string; + + /** PostalAddress addressLines. */ + public addressLines: string[]; + + /** PostalAddress recipients. */ + public recipients: string[]; + + /** PostalAddress organization. */ + public organization: string; + + /** + * Creates a new PostalAddress instance using the specified properties. + * @param [properties] Properties to set + * @returns PostalAddress instance + */ + public static create(properties?: google.type.IPostalAddress): google.type.PostalAddress; + + /** + * Encodes the specified PostalAddress message. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages. + * @param message PostalAddress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encode(message: google.type.IPostalAddress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Encodes the specified PostalAddress message, length delimited. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages. + * @param message PostalAddress message or plain object to encode + * @param [writer] Writer to encode to + * @returns Writer + */ + public static encodeDelimited(message: google.type.IPostalAddress, writer?: $protobuf.Writer): $protobuf.Writer; + + /** + * Decodes a PostalAddress message from the specified reader or buffer. + * @param reader Reader or buffer to decode from + * @param [length] Message length if known beforehand + * @returns PostalAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.type.PostalAddress; + + /** + * Decodes a PostalAddress message from the specified reader or buffer, length delimited. + * @param reader Reader or buffer to decode from + * @returns PostalAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.type.PostalAddress; + + /** + * Verifies a PostalAddress message. + * @param message Plain object to verify + * @returns `null` if valid, otherwise the reason why it is not + */ + public static verify(message: { [k: string]: any }): (string|null); + + /** + * Creates a PostalAddress message from a plain object. Also converts values to their respective internal types. + * @param object Plain object + * @returns PostalAddress + */ + public static fromObject(object: { [k: string]: any }): google.type.PostalAddress; + + /** + * Creates a plain object from a PostalAddress message. Also converts values to other types if specified. + * @param message PostalAddress + * @param [options] Conversion options + * @returns Plain object + */ + public static toObject(message: google.type.PostalAddress, options?: $protobuf.IConversionOptions): { [k: string]: any }; + + /** + * Converts this PostalAddress to JSON. + * @returns JSON object + */ + public toJSON(): { [k: string]: any }; + + /** + * Gets the default type url for PostalAddress + * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns The default type url + */ + public static getTypeUrl(typeUrlPrefix?: string): string; + } + } +} diff --git a/packages/google-cloud-domains/protos/protos.js b/packages/google-cloud-domains/protos/protos.js new file mode 100644 index 00000000000..343e0a36d3f --- /dev/null +++ b/packages/google-cloud-domains/protos/protos.js @@ -0,0 +1,45587 @@ +// 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_domains_protos || ($protobuf.roots._google_cloud_domains_protos = {}); + + $root.google = (function() { + + /** + * Namespace google. + * @exports google + * @namespace + */ + var google = {}; + + google.cloud = (function() { + + /** + * Namespace cloud. + * @memberof google + * @namespace + */ + var cloud = {}; + + cloud.domains = (function() { + + /** + * Namespace domains. + * @memberof google.cloud + * @namespace + */ + var domains = {}; + + domains.v1 = (function() { + + /** + * Namespace v1. + * @memberof google.cloud.domains + * @namespace + */ + var v1 = {}; + + v1.Domains = (function() { + + /** + * Constructs a new Domains service. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a Domains + * @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 Domains(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Domains.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Domains; + + /** + * Creates new Domains service using the specified rpc implementation. + * @function create + * @memberof google.cloud.domains.v1.Domains + * @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 {Domains} RPC service. Useful where requests and/or responses are streamed. + */ + Domains.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|searchDomains}. + * @memberof google.cloud.domains.v1.Domains + * @typedef SearchDomainsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.SearchDomainsResponse} [response] SearchDomainsResponse + */ + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @param {google.cloud.domains.v1.Domains.SearchDomainsCallback} callback Node-style callback called with the error, if any, and SearchDomainsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.searchDomains = function searchDomains(request, callback) { + return this.rpcCall(searchDomains, $root.google.cloud.domains.v1.SearchDomainsRequest, $root.google.cloud.domains.v1.SearchDomainsResponse, request, callback); + }, "name", { value: "SearchDomains" }); + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveRegisterParameters}. + * @memberof google.cloud.domains.v1.Domains + * @typedef RetrieveRegisterParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.RetrieveRegisterParametersResponse} [response] RetrieveRegisterParametersResponse + */ + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @param {google.cloud.domains.v1.Domains.RetrieveRegisterParametersCallback} callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveRegisterParameters = function retrieveRegisterParameters(request, callback) { + return this.rpcCall(retrieveRegisterParameters, $root.google.cloud.domains.v1.RetrieveRegisterParametersRequest, $root.google.cloud.domains.v1.RetrieveRegisterParametersResponse, request, callback); + }, "name", { value: "RetrieveRegisterParameters" }); + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|registerDomain}. + * @memberof google.cloud.domains.v1.Domains + * @typedef RegisterDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @param {google.cloud.domains.v1.Domains.RegisterDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.registerDomain = function registerDomain(request, callback) { + return this.rpcCall(registerDomain, $root.google.cloud.domains.v1.RegisterDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "RegisterDomain" }); + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveTransferParameters}. + * @memberof google.cloud.domains.v1.Domains + * @typedef RetrieveTransferParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.RetrieveTransferParametersResponse} [response] RetrieveTransferParametersResponse + */ + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @param {google.cloud.domains.v1.Domains.RetrieveTransferParametersCallback} callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveTransferParameters = function retrieveTransferParameters(request, callback) { + return this.rpcCall(retrieveTransferParameters, $root.google.cloud.domains.v1.RetrieveTransferParametersRequest, $root.google.cloud.domains.v1.RetrieveTransferParametersResponse, request, callback); + }, "name", { value: "RetrieveTransferParameters" }); + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|transferDomain}. + * @memberof google.cloud.domains.v1.Domains + * @typedef TransferDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @param {google.cloud.domains.v1.Domains.TransferDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.transferDomain = function transferDomain(request, callback) { + return this.rpcCall(transferDomain, $root.google.cloud.domains.v1.TransferDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "TransferDomain" }); + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|listRegistrations}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ListRegistrationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.ListRegistrationsResponse} [response] ListRegistrationsResponse + */ + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ListRegistrationsCallback} callback Node-style callback called with the error, if any, and ListRegistrationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.listRegistrations = function listRegistrations(request, callback) { + return this.rpcCall(listRegistrations, $root.google.cloud.domains.v1.ListRegistrationsRequest, $root.google.cloud.domains.v1.ListRegistrationsResponse, request, callback); + }, "name", { value: "ListRegistrations" }); + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|getRegistration}. + * @memberof google.cloud.domains.v1.Domains + * @typedef GetRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.Registration} [response] Registration + */ + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @param {google.cloud.domains.v1.Domains.GetRegistrationCallback} callback Node-style callback called with the error, if any, and Registration + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.getRegistration = function getRegistration(request, callback) { + return this.rpcCall(getRegistration, $root.google.cloud.domains.v1.GetRegistrationRequest, $root.google.cloud.domains.v1.Registration, request, callback); + }, "name", { value: "GetRegistration" }); + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|updateRegistration}. + * @memberof google.cloud.domains.v1.Domains + * @typedef UpdateRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @param {google.cloud.domains.v1.Domains.UpdateRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.updateRegistration = function updateRegistration(request, callback) { + return this.rpcCall(updateRegistration, $root.google.cloud.domains.v1.UpdateRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "UpdateRegistration" }); + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureManagementSettings}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ConfigureManagementSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ConfigureManagementSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureManagementSettings = function configureManagementSettings(request, callback) { + return this.rpcCall(configureManagementSettings, $root.google.cloud.domains.v1.ConfigureManagementSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureManagementSettings" }); + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureDnsSettings}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ConfigureDnsSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ConfigureDnsSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureDnsSettings = function configureDnsSettings(request, callback) { + return this.rpcCall(configureDnsSettings, $root.google.cloud.domains.v1.ConfigureDnsSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureDnsSettings" }); + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|configureContactSettings}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ConfigureContactSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ConfigureContactSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureContactSettings = function configureContactSettings(request, callback) { + return this.rpcCall(configureContactSettings, $root.google.cloud.domains.v1.ConfigureContactSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureContactSettings" }); + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|exportRegistration}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ExportRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ExportRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.exportRegistration = function exportRegistration(request, callback) { + return this.rpcCall(exportRegistration, $root.google.cloud.domains.v1.ExportRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ExportRegistration" }); + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|deleteRegistration}. + * @memberof google.cloud.domains.v1.Domains + * @typedef DeleteRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @param {google.cloud.domains.v1.Domains.DeleteRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.deleteRegistration = function deleteRegistration(request, callback) { + return this.rpcCall(deleteRegistration, $root.google.cloud.domains.v1.DeleteRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DeleteRegistration" }); + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|retrieveAuthorizationCode}. + * @memberof google.cloud.domains.v1.Domains + * @typedef RetrieveAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1.Domains.RetrieveAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveAuthorizationCode = function retrieveAuthorizationCode(request, callback) { + return this.rpcCall(retrieveAuthorizationCode, $root.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest, $root.google.cloud.domains.v1.AuthorizationCode, request, callback); + }, "name", { value: "RetrieveAuthorizationCode" }); + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1.Domains|resetAuthorizationCode}. + * @memberof google.cloud.domains.v1.Domains + * @typedef ResetAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1.Domains.ResetAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.resetAuthorizationCode = function resetAuthorizationCode(request, callback) { + return this.rpcCall(resetAuthorizationCode, $root.google.cloud.domains.v1.ResetAuthorizationCodeRequest, $root.google.cloud.domains.v1.AuthorizationCode, request, callback); + }, "name", { value: "ResetAuthorizationCode" }); + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1.Domains + * @instance + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Domains; + })(); + + v1.Registration = (function() { + + /** + * Properties of a Registration. + * @memberof google.cloud.domains.v1 + * @interface IRegistration + * @property {string|null} [name] Registration name + * @property {string|null} [domainName] Registration domainName + * @property {google.protobuf.ITimestamp|null} [createTime] Registration createTime + * @property {google.protobuf.ITimestamp|null} [expireTime] Registration expireTime + * @property {google.cloud.domains.v1.Registration.State|null} [state] Registration state + * @property {Array.|null} [issues] Registration issues + * @property {Object.|null} [labels] Registration labels + * @property {google.cloud.domains.v1.IManagementSettings|null} [managementSettings] Registration managementSettings + * @property {google.cloud.domains.v1.IDnsSettings|null} [dnsSettings] Registration dnsSettings + * @property {google.cloud.domains.v1.IContactSettings|null} [contactSettings] Registration contactSettings + * @property {google.cloud.domains.v1.IContactSettings|null} [pendingContactSettings] Registration pendingContactSettings + * @property {Array.|null} [supportedPrivacy] Registration supportedPrivacy + */ + + /** + * Constructs a new Registration. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a Registration. + * @implements IRegistration + * @constructor + * @param {google.cloud.domains.v1.IRegistration=} [properties] Properties to set + */ + function Registration(properties) { + this.issues = []; + this.labels = {}; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Registration name. + * @member {string} name + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.name = ""; + + /** + * Registration domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.domainName = ""; + + /** + * Registration createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.createTime = null; + + /** + * Registration expireTime. + * @member {google.protobuf.ITimestamp|null|undefined} expireTime + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.expireTime = null; + + /** + * Registration state. + * @member {google.cloud.domains.v1.Registration.State} state + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.state = 0; + + /** + * Registration issues. + * @member {Array.} issues + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.issues = $util.emptyArray; + + /** + * Registration labels. + * @member {Object.} labels + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.labels = $util.emptyObject; + + /** + * Registration managementSettings. + * @member {google.cloud.domains.v1.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.managementSettings = null; + + /** + * Registration dnsSettings. + * @member {google.cloud.domains.v1.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.dnsSettings = null; + + /** + * Registration contactSettings. + * @member {google.cloud.domains.v1.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.contactSettings = null; + + /** + * Registration pendingContactSettings. + * @member {google.cloud.domains.v1.IContactSettings|null|undefined} pendingContactSettings + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.pendingContactSettings = null; + + /** + * Registration supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1.Registration + * @instance + */ + Registration.prototype.supportedPrivacy = $util.emptyArray; + + /** + * Creates a new Registration instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {google.cloud.domains.v1.IRegistration=} [properties] Properties to set + * @returns {google.cloud.domains.v1.Registration} Registration instance + */ + Registration.create = function create(properties) { + return new Registration(properties); + }; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1.Registration.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {google.cloud.domains.v1.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.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.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.domainName); + if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) + $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.state); + if (message.issues != null && message.issues.length) { + writer.uint32(/* id 8, wireType 2 =*/66).fork(); + for (var i = 0; i < message.issues.length; ++i) + writer.int32(message.issues[i]); + writer.ldelim(); + } + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i) + writer.uint32(/* id 9, wireType 2 =*/74).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.pendingContactSettings != null && Object.hasOwnProperty.call(message, "pendingContactSettings")) + $root.google.cloud.domains.v1.ContactSettings.encode(message.pendingContactSettings, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 14, wireType 2 =*/114).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1.Registration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {google.cloud.domains.v1.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.Registration(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.domainName = reader.string(); + break; + } + case 3: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 7: { + message.state = reader.int32(); + break; + } + case 8: { + if (!(message.issues && message.issues.length)) + message.issues = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.issues.push(reader.int32()); + } else + message.issues.push(reader.int32()); + break; + } + case 9: { + if (message.labels === $util.emptyObject) + message.labels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.labels[key] = value; + break; + } + case 10: { + message.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 11: { + message.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 12: { + message.contactSettings = $root.google.cloud.domains.v1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 13: { + message.pendingContactSettings = $root.google.cloud.domains.v1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 14: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Registration message. + * @function verify + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Registration.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.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.expireTime != null && message.hasOwnProperty("expireTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + if (error) + return "expireTime." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 8: + break; + } + if (message.issues != null && message.hasOwnProperty("issues")) { + if (!Array.isArray(message.issues)) + return "issues: array expected"; + for (var i = 0; i < message.issues.length; ++i) + switch (message.issues[i]) { + default: + return "issues: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!$util.isObject(message.labels)) + return "labels: object expected"; + var key = Object.keys(message.labels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.labels[key[i]])) + return "labels: string{k:string} expected"; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) { + var error = $root.google.cloud.domains.v1.ContactSettings.verify(message.pendingContactSettings); + if (error) + return "pendingContactSettings." + error; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + return null; + }; + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.Registration} Registration + */ + Registration.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.Registration) + return object; + var message = new $root.google.cloud.domains.v1.Registration(); + if (object.name != null) + message.name = String(object.name); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.expireTime != null) { + if (typeof object.expireTime !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.expireTime: object expected"); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + } + 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 "REGISTRATION_PENDING": + case 1: + message.state = 1; + break; + case "REGISTRATION_FAILED": + case 2: + message.state = 2; + break; + case "TRANSFER_PENDING": + case 3: + message.state = 3; + break; + case "TRANSFER_FAILED": + case 4: + message.state = 4; + break; + case "ACTIVE": + case 6: + message.state = 6; + break; + case "SUSPENDED": + case 7: + message.state = 7; + break; + case "EXPORTED": + case 8: + message.state = 8; + break; + } + if (object.issues) { + if (!Array.isArray(object.issues)) + throw TypeError(".google.cloud.domains.v1.Registration.issues: array expected"); + message.issues = []; + for (var i = 0; i < object.issues.length; ++i) + switch (object.issues[i]) { + default: + if (typeof object.issues[i] === "number") { + message.issues[i] = object.issues[i]; + break; + } + case "ISSUE_UNSPECIFIED": + case 0: + message.issues[i] = 0; + break; + case "CONTACT_SUPPORT": + case 1: + message.issues[i] = 1; + break; + case "UNVERIFIED_EMAIL": + case 2: + message.issues[i] = 2; + break; + } + } + if (object.labels) { + if (typeof object.labels !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.labels: object expected"); + message.labels = {}; + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + message.labels[keys[i]] = String(object.labels[keys[i]]); + } + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.fromObject(object.managementSettings); + } + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.fromObject(object.dnsSettings); + } + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1.ContactSettings.fromObject(object.contactSettings); + } + if (object.pendingContactSettings != null) { + if (typeof object.pendingContactSettings !== "object") + throw TypeError(".google.cloud.domains.v1.Registration.pendingContactSettings: object expected"); + message.pendingContactSettings = $root.google.cloud.domains.v1.ContactSettings.fromObject(object.pendingContactSettings); + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1.Registration.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {google.cloud.domains.v1.Registration} message Registration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Registration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.issues = []; + object.supportedPrivacy = []; + } + if (options.objects || options.defaults) + object.labels = {}; + if (options.defaults) { + object.name = ""; + object.domainName = ""; + object.createTime = null; + object.expireTime = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.managementSettings = null; + object.dnsSettings = null; + object.contactSettings = null; + object.pendingContactSettings = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.domains.v1.Registration.State[message.state] === undefined ? message.state : $root.google.cloud.domains.v1.Registration.State[message.state] : message.state; + if (message.issues && message.issues.length) { + object.issues = []; + for (var j = 0; j < message.issues.length; ++j) + object.issues[j] = options.enums === String ? $root.google.cloud.domains.v1.Registration.Issue[message.issues[j]] === undefined ? message.issues[j] : $root.google.cloud.domains.v1.Registration.Issue[message.issues[j]] : message.issues[j]; + } + var keys2; + if (message.labels && (keys2 = Object.keys(message.labels)).length) { + object.labels = {}; + for (var j = 0; j < keys2.length; ++j) + object.labels[keys2[j]] = message.labels[keys2[j]]; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.toObject(message.managementSettings, options); + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.toObject(message.dnsSettings, options); + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1.ContactSettings.toObject(message.contactSettings, options); + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) + object.pendingContactSettings = $root.google.cloud.domains.v1.ContactSettings.toObject(message.pendingContactSettings, options); + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + return object; + }; + + /** + * Converts this Registration to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.Registration + * @instance + * @returns {Object.} JSON object + */ + Registration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Registration + * @function getTypeUrl + * @memberof google.cloud.domains.v1.Registration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Registration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.Registration"; + }; + + /** + * State enum. + * @name google.cloud.domains.v1.Registration.State + * @enum {number} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} REGISTRATION_PENDING=1 REGISTRATION_PENDING value + * @property {number} REGISTRATION_FAILED=2 REGISTRATION_FAILED value + * @property {number} TRANSFER_PENDING=3 TRANSFER_PENDING value + * @property {number} TRANSFER_FAILED=4 TRANSFER_FAILED value + * @property {number} ACTIVE=6 ACTIVE value + * @property {number} SUSPENDED=7 SUSPENDED value + * @property {number} EXPORTED=8 EXPORTED value + */ + Registration.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "REGISTRATION_PENDING"] = 1; + values[valuesById[2] = "REGISTRATION_FAILED"] = 2; + values[valuesById[3] = "TRANSFER_PENDING"] = 3; + values[valuesById[4] = "TRANSFER_FAILED"] = 4; + values[valuesById[6] = "ACTIVE"] = 6; + values[valuesById[7] = "SUSPENDED"] = 7; + values[valuesById[8] = "EXPORTED"] = 8; + return values; + })(); + + /** + * Issue enum. + * @name google.cloud.domains.v1.Registration.Issue + * @enum {number} + * @property {number} ISSUE_UNSPECIFIED=0 ISSUE_UNSPECIFIED value + * @property {number} CONTACT_SUPPORT=1 CONTACT_SUPPORT value + * @property {number} UNVERIFIED_EMAIL=2 UNVERIFIED_EMAIL value + */ + Registration.Issue = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ISSUE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CONTACT_SUPPORT"] = 1; + values[valuesById[2] = "UNVERIFIED_EMAIL"] = 2; + return values; + })(); + + return Registration; + })(); + + v1.ManagementSettings = (function() { + + /** + * Properties of a ManagementSettings. + * @memberof google.cloud.domains.v1 + * @interface IManagementSettings + * @property {google.cloud.domains.v1.ManagementSettings.RenewalMethod|null} [renewalMethod] ManagementSettings renewalMethod + * @property {google.cloud.domains.v1.TransferLockState|null} [transferLockState] ManagementSettings transferLockState + */ + + /** + * Constructs a new ManagementSettings. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ManagementSettings. + * @implements IManagementSettings + * @constructor + * @param {google.cloud.domains.v1.IManagementSettings=} [properties] Properties to set + */ + function ManagementSettings(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]]; + } + + /** + * ManagementSettings renewalMethod. + * @member {google.cloud.domains.v1.ManagementSettings.RenewalMethod} renewalMethod + * @memberof google.cloud.domains.v1.ManagementSettings + * @instance + */ + ManagementSettings.prototype.renewalMethod = 0; + + /** + * ManagementSettings transferLockState. + * @member {google.cloud.domains.v1.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1.ManagementSettings + * @instance + */ + ManagementSettings.prototype.transferLockState = 0; + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {google.cloud.domains.v1.IManagementSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ManagementSettings} ManagementSettings instance + */ + ManagementSettings.create = function create(properties) { + return new ManagementSettings(properties); + }; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1.ManagementSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {google.cloud.domains.v1.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.renewalMethod != null && Object.hasOwnProperty.call(message, "renewalMethod")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.renewalMethod); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + return writer; + }; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ManagementSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {google.cloud.domains.v1.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ManagementSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + message.renewalMethod = reader.int32(); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ManagementSettings message. + * @function verify + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ManagementSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + switch (message.renewalMethod) { + default: + return "renewalMethod: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ManagementSettings} ManagementSettings + */ + ManagementSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ManagementSettings) + return object; + var message = new $root.google.cloud.domains.v1.ManagementSettings(); + switch (object.renewalMethod) { + default: + if (typeof object.renewalMethod === "number") { + message.renewalMethod = object.renewalMethod; + break; + } + break; + case "RENEWAL_METHOD_UNSPECIFIED": + case 0: + message.renewalMethod = 0; + break; + case "AUTOMATIC_RENEWAL": + case 1: + message.renewalMethod = 1; + break; + case "MANUAL_RENEWAL": + case 2: + message.renewalMethod = 2; + break; + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {google.cloud.domains.v1.ManagementSettings} message ManagementSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ManagementSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.renewalMethod = options.enums === String ? "RENEWAL_METHOD_UNSPECIFIED" : 0; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + } + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + object.renewalMethod = options.enums === String ? $root.google.cloud.domains.v1.ManagementSettings.RenewalMethod[message.renewalMethod] === undefined ? message.renewalMethod : $root.google.cloud.domains.v1.ManagementSettings.RenewalMethod[message.renewalMethod] : message.renewalMethod; + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1.TransferLockState[message.transferLockState] : message.transferLockState; + return object; + }; + + /** + * Converts this ManagementSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ManagementSettings + * @instance + * @returns {Object.} JSON object + */ + ManagementSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ManagementSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ManagementSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ManagementSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ManagementSettings"; + }; + + /** + * RenewalMethod enum. + * @name google.cloud.domains.v1.ManagementSettings.RenewalMethod + * @enum {number} + * @property {number} RENEWAL_METHOD_UNSPECIFIED=0 RENEWAL_METHOD_UNSPECIFIED value + * @property {number} AUTOMATIC_RENEWAL=1 AUTOMATIC_RENEWAL value + * @property {number} MANUAL_RENEWAL=2 MANUAL_RENEWAL value + */ + ManagementSettings.RenewalMethod = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "RENEWAL_METHOD_UNSPECIFIED"] = 0; + values[valuesById[1] = "AUTOMATIC_RENEWAL"] = 1; + values[valuesById[2] = "MANUAL_RENEWAL"] = 2; + return values; + })(); + + return ManagementSettings; + })(); + + v1.DnsSettings = (function() { + + /** + * Properties of a DnsSettings. + * @memberof google.cloud.domains.v1 + * @interface IDnsSettings + * @property {google.cloud.domains.v1.DnsSettings.ICustomDns|null} [customDns] DnsSettings customDns + * @property {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns|null} [googleDomainsDns] DnsSettings googleDomainsDns + * @property {Array.|null} [glueRecords] DnsSettings glueRecords + */ + + /** + * Constructs a new DnsSettings. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a DnsSettings. + * @implements IDnsSettings + * @constructor + * @param {google.cloud.domains.v1.IDnsSettings=} [properties] Properties to set + */ + function DnsSettings(properties) { + this.glueRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DnsSettings customDns. + * @member {google.cloud.domains.v1.DnsSettings.ICustomDns|null|undefined} customDns + * @memberof google.cloud.domains.v1.DnsSettings + * @instance + */ + DnsSettings.prototype.customDns = null; + + /** + * DnsSettings googleDomainsDns. + * @member {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns|null|undefined} googleDomainsDns + * @memberof google.cloud.domains.v1.DnsSettings + * @instance + */ + DnsSettings.prototype.googleDomainsDns = null; + + /** + * DnsSettings glueRecords. + * @member {Array.} glueRecords + * @memberof google.cloud.domains.v1.DnsSettings + * @instance + */ + DnsSettings.prototype.glueRecords = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DnsSettings dnsProvider. + * @member {"customDns"|"googleDomainsDns"|undefined} dnsProvider + * @memberof google.cloud.domains.v1.DnsSettings + * @instance + */ + Object.defineProperty(DnsSettings.prototype, "dnsProvider", { + get: $util.oneOfGetter($oneOfFields = ["customDns", "googleDomainsDns"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {google.cloud.domains.v1.IDnsSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DnsSettings} DnsSettings instance + */ + DnsSettings.create = function create(properties) { + return new DnsSettings(properties); + }; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {google.cloud.domains.v1.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.customDns != null && Object.hasOwnProperty.call(message, "customDns")) + $root.google.cloud.domains.v1.DnsSettings.CustomDns.encode(message.customDns, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.googleDomainsDns != null && Object.hasOwnProperty.call(message, "googleDomainsDns")) + $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.encode(message.googleDomainsDns, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.glueRecords != null && message.glueRecords.length) + for (var i = 0; i < message.glueRecords.length; ++i) + $root.google.cloud.domains.v1.DnsSettings.GlueRecord.encode(message.glueRecords[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {google.cloud.domains.v1.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DnsSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.customDns = $root.google.cloud.domains.v1.DnsSettings.CustomDns.decode(reader, reader.uint32()); + break; + } + case 2: { + message.googleDomainsDns = $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.glueRecords && message.glueRecords.length)) + message.glueRecords = []; + message.glueRecords.push($root.google.cloud.domains.v1.DnsSettings.GlueRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DnsSettings message. + * @function verify + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DnsSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1.DnsSettings.CustomDns.verify(message.customDns); + if (error) + return "customDns." + error; + } + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + if (properties.dnsProvider === 1) + return "dnsProvider: multiple values"; + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.verify(message.googleDomainsDns); + if (error) + return "googleDomainsDns." + error; + } + } + if (message.glueRecords != null && message.hasOwnProperty("glueRecords")) { + if (!Array.isArray(message.glueRecords)) + return "glueRecords: array expected"; + for (var i = 0; i < message.glueRecords.length; ++i) { + var error = $root.google.cloud.domains.v1.DnsSettings.GlueRecord.verify(message.glueRecords[i]); + if (error) + return "glueRecords." + error; + } + } + return null; + }; + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DnsSettings} DnsSettings + */ + DnsSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DnsSettings) + return object; + var message = new $root.google.cloud.domains.v1.DnsSettings(); + if (object.customDns != null) { + if (typeof object.customDns !== "object") + throw TypeError(".google.cloud.domains.v1.DnsSettings.customDns: object expected"); + message.customDns = $root.google.cloud.domains.v1.DnsSettings.CustomDns.fromObject(object.customDns); + } + if (object.googleDomainsDns != null) { + if (typeof object.googleDomainsDns !== "object") + throw TypeError(".google.cloud.domains.v1.DnsSettings.googleDomainsDns: object expected"); + message.googleDomainsDns = $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.fromObject(object.googleDomainsDns); + } + if (object.glueRecords) { + if (!Array.isArray(object.glueRecords)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.glueRecords: array expected"); + message.glueRecords = []; + for (var i = 0; i < object.glueRecords.length; ++i) { + if (typeof object.glueRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1.DnsSettings.glueRecords: object expected"); + message.glueRecords[i] = $root.google.cloud.domains.v1.DnsSettings.GlueRecord.fromObject(object.glueRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {google.cloud.domains.v1.DnsSettings} message DnsSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DnsSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.glueRecords = []; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + object.customDns = $root.google.cloud.domains.v1.DnsSettings.CustomDns.toObject(message.customDns, options); + if (options.oneofs) + object.dnsProvider = "customDns"; + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + object.googleDomainsDns = $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.toObject(message.googleDomainsDns, options); + if (options.oneofs) + object.dnsProvider = "googleDomainsDns"; + } + if (message.glueRecords && message.glueRecords.length) { + object.glueRecords = []; + for (var j = 0; j < message.glueRecords.length; ++j) + object.glueRecords[j] = $root.google.cloud.domains.v1.DnsSettings.GlueRecord.toObject(message.glueRecords[j], options); + } + return object; + }; + + /** + * Converts this DnsSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DnsSettings + * @instance + * @returns {Object.} JSON object + */ + DnsSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DnsSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DnsSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DnsSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DnsSettings"; + }; + + DnsSettings.CustomDns = (function() { + + /** + * Properties of a CustomDns. + * @memberof google.cloud.domains.v1.DnsSettings + * @interface ICustomDns + * @property {Array.|null} [nameServers] CustomDns nameServers + * @property {Array.|null} [dsRecords] CustomDns dsRecords + */ + + /** + * Constructs a new CustomDns. + * @memberof google.cloud.domains.v1.DnsSettings + * @classdesc Represents a CustomDns. + * @implements ICustomDns + * @constructor + * @param {google.cloud.domains.v1.DnsSettings.ICustomDns=} [properties] Properties to set + */ + function CustomDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.nameServers = $util.emptyArray; + + /** + * CustomDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new CustomDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.ICustomDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DnsSettings.CustomDns} CustomDns instance + */ + CustomDns.create = function create(properties) { + return new CustomDns(properties); + }; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.CustomDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.CustomDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DnsSettings.CustomDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomDns message. + * @function verify + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DnsSettings.CustomDns} CustomDns + */ + CustomDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DnsSettings.CustomDns) + return object; + var message = new $root.google.cloud.domains.v1.DnsSettings.CustomDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.CustomDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.CustomDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1.DnsSettings.CustomDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.CustomDns} message CustomDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this CustomDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @instance + * @returns {Object.} JSON object + */ + CustomDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DnsSettings.CustomDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DnsSettings.CustomDns"; + }; + + return CustomDns; + })(); + + DnsSettings.GoogleDomainsDns = (function() { + + /** + * Properties of a GoogleDomainsDns. + * @memberof google.cloud.domains.v1.DnsSettings + * @interface IGoogleDomainsDns + * @property {Array.|null} [nameServers] GoogleDomainsDns nameServers + * @property {google.cloud.domains.v1.DnsSettings.DsState|null} [dsState] GoogleDomainsDns dsState + * @property {Array.|null} [dsRecords] GoogleDomainsDns dsRecords + */ + + /** + * Constructs a new GoogleDomainsDns. + * @memberof google.cloud.domains.v1.DnsSettings + * @classdesc Represents a GoogleDomainsDns. + * @implements IGoogleDomainsDns + * @constructor + * @param {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + */ + function GoogleDomainsDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GoogleDomainsDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.nameServers = $util.emptyArray; + + /** + * GoogleDomainsDns dsState. + * @member {google.cloud.domains.v1.DnsSettings.DsState} dsState + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsState = 0; + + /** + * GoogleDomainsDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns instance + */ + GoogleDomainsDns.create = function create(properties) { + return new GoogleDomainsDns(properties); + }; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsState != null && Object.hasOwnProperty.call(message, "dsState")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.dsState); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + message.dsState = reader.int32(); + break; + } + case 3: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GoogleDomainsDns message. + * @function verify + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GoogleDomainsDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + switch (message.dsState) { + default: + return "dsState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + */ + GoogleDomainsDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns) + return object; + var message = new $root.google.cloud.domains.v1.DnsSettings.GoogleDomainsDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.dsState) { + default: + if (typeof object.dsState === "number") { + message.dsState = object.dsState; + break; + } + break; + case "DS_STATE_UNSPECIFIED": + case 0: + message.dsState = 0; + break; + case "DS_RECORDS_UNPUBLISHED": + case 1: + message.dsState = 1; + break; + case "DS_RECORDS_PUBLISHED": + case 2: + message.dsState = 2; + break; + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1.DnsSettings.GoogleDomainsDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1.DnsSettings.GoogleDomainsDns} message GoogleDomainsDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GoogleDomainsDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (options.defaults) + object.dsState = options.enums === String ? "DS_STATE_UNSPECIFIED" : 0; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + object.dsState = options.enums === String ? $root.google.cloud.domains.v1.DnsSettings.DsState[message.dsState] === undefined ? message.dsState : $root.google.cloud.domains.v1.DnsSettings.DsState[message.dsState] : message.dsState; + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @instance + * @returns {Object.} JSON object + */ + GoogleDomainsDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GoogleDomainsDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DnsSettings.GoogleDomainsDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GoogleDomainsDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DnsSettings.GoogleDomainsDns"; + }; + + return GoogleDomainsDns; + })(); + + DnsSettings.DsRecord = (function() { + + /** + * Properties of a DsRecord. + * @memberof google.cloud.domains.v1.DnsSettings + * @interface IDsRecord + * @property {number|null} [keyTag] DsRecord keyTag + * @property {google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm|null} [algorithm] DsRecord algorithm + * @property {google.cloud.domains.v1.DnsSettings.DsRecord.DigestType|null} [digestType] DsRecord digestType + * @property {string|null} [digest] DsRecord digest + */ + + /** + * Constructs a new DsRecord. + * @memberof google.cloud.domains.v1.DnsSettings + * @classdesc Represents a DsRecord. + * @implements IDsRecord + * @constructor + * @param {google.cloud.domains.v1.DnsSettings.IDsRecord=} [properties] Properties to set + */ + function DsRecord(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]]; + } + + /** + * DsRecord keyTag. + * @member {number} keyTag + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.keyTag = 0; + + /** + * DsRecord algorithm. + * @member {google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm} algorithm + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.algorithm = 0; + + /** + * DsRecord digestType. + * @member {google.cloud.domains.v1.DnsSettings.DsRecord.DigestType} digestType + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digestType = 0; + + /** + * DsRecord digest. + * @member {string} digest + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digest = ""; + + /** + * Creates a new DsRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IDsRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DnsSettings.DsRecord} DsRecord instance + */ + DsRecord.create = function create(properties) { + return new DsRecord(properties); + }; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.DsRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keyTag != null && Object.hasOwnProperty.call(message, "keyTag")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.keyTag); + if (message.algorithm != null && Object.hasOwnProperty.call(message, "algorithm")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.algorithm); + if (message.digestType != null && Object.hasOwnProperty.call(message, "digestType")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.digestType); + if (message.digest != null && Object.hasOwnProperty.call(message, "digest")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.digest); + return writer; + }; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.DsRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DnsSettings.DsRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.keyTag = reader.int32(); + break; + } + case 2: { + message.algorithm = reader.int32(); + break; + } + case 3: { + message.digestType = reader.int32(); + break; + } + case 4: { + message.digest = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DsRecord message. + * @function verify + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DsRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + if (!$util.isInteger(message.keyTag)) + return "keyTag: integer expected"; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + switch (message.algorithm) { + default: + return "algorithm: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 10: + case 12: + case 13: + case 14: + case 15: + case 16: + case 252: + case 253: + case 254: + break; + } + if (message.digestType != null && message.hasOwnProperty("digestType")) + switch (message.digestType) { + default: + return "digestType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.digest != null && message.hasOwnProperty("digest")) + if (!$util.isString(message.digest)) + return "digest: string expected"; + return null; + }; + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DnsSettings.DsRecord} DsRecord + */ + DsRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DnsSettings.DsRecord) + return object; + var message = new $root.google.cloud.domains.v1.DnsSettings.DsRecord(); + if (object.keyTag != null) + message.keyTag = object.keyTag | 0; + switch (object.algorithm) { + default: + if (typeof object.algorithm === "number") { + message.algorithm = object.algorithm; + break; + } + break; + case "ALGORITHM_UNSPECIFIED": + case 0: + message.algorithm = 0; + break; + case "RSAMD5": + case 1: + message.algorithm = 1; + break; + case "DH": + case 2: + message.algorithm = 2; + break; + case "DSA": + case 3: + message.algorithm = 3; + break; + case "ECC": + case 4: + message.algorithm = 4; + break; + case "RSASHA1": + case 5: + message.algorithm = 5; + break; + case "DSANSEC3SHA1": + case 6: + message.algorithm = 6; + break; + case "RSASHA1NSEC3SHA1": + case 7: + message.algorithm = 7; + break; + case "RSASHA256": + case 8: + message.algorithm = 8; + break; + case "RSASHA512": + case 10: + message.algorithm = 10; + break; + case "ECCGOST": + case 12: + message.algorithm = 12; + break; + case "ECDSAP256SHA256": + case 13: + message.algorithm = 13; + break; + case "ECDSAP384SHA384": + case 14: + message.algorithm = 14; + break; + case "ED25519": + case 15: + message.algorithm = 15; + break; + case "ED448": + case 16: + message.algorithm = 16; + break; + case "INDIRECT": + case 252: + message.algorithm = 252; + break; + case "PRIVATEDNS": + case 253: + message.algorithm = 253; + break; + case "PRIVATEOID": + case 254: + message.algorithm = 254; + break; + } + switch (object.digestType) { + default: + if (typeof object.digestType === "number") { + message.digestType = object.digestType; + break; + } + break; + case "DIGEST_TYPE_UNSPECIFIED": + case 0: + message.digestType = 0; + break; + case "SHA1": + case 1: + message.digestType = 1; + break; + case "SHA256": + case 2: + message.digestType = 2; + break; + case "GOST3411": + case 3: + message.digestType = 3; + break; + case "SHA384": + case 4: + message.digestType = 4; + break; + } + if (object.digest != null) + message.digest = String(object.digest); + return message; + }; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.DsRecord} message DsRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DsRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.keyTag = 0; + object.algorithm = options.enums === String ? "ALGORITHM_UNSPECIFIED" : 0; + object.digestType = options.enums === String ? "DIGEST_TYPE_UNSPECIFIED" : 0; + object.digest = ""; + } + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + object.keyTag = message.keyTag; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + object.algorithm = options.enums === String ? $root.google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm[message.algorithm] === undefined ? message.algorithm : $root.google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm[message.algorithm] : message.algorithm; + if (message.digestType != null && message.hasOwnProperty("digestType")) + object.digestType = options.enums === String ? $root.google.cloud.domains.v1.DnsSettings.DsRecord.DigestType[message.digestType] === undefined ? message.digestType : $root.google.cloud.domains.v1.DnsSettings.DsRecord.DigestType[message.digestType] : message.digestType; + if (message.digest != null && message.hasOwnProperty("digest")) + object.digest = message.digest; + return object; + }; + + /** + * Converts this DsRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @instance + * @returns {Object.} JSON object + */ + DsRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DsRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DnsSettings.DsRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DsRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DnsSettings.DsRecord"; + }; + + /** + * Algorithm enum. + * @name google.cloud.domains.v1.DnsSettings.DsRecord.Algorithm + * @enum {number} + * @property {number} ALGORITHM_UNSPECIFIED=0 ALGORITHM_UNSPECIFIED value + * @property {number} RSAMD5=1 RSAMD5 value + * @property {number} DH=2 DH value + * @property {number} DSA=3 DSA value + * @property {number} ECC=4 ECC value + * @property {number} RSASHA1=5 RSASHA1 value + * @property {number} DSANSEC3SHA1=6 DSANSEC3SHA1 value + * @property {number} RSASHA1NSEC3SHA1=7 RSASHA1NSEC3SHA1 value + * @property {number} RSASHA256=8 RSASHA256 value + * @property {number} RSASHA512=10 RSASHA512 value + * @property {number} ECCGOST=12 ECCGOST value + * @property {number} ECDSAP256SHA256=13 ECDSAP256SHA256 value + * @property {number} ECDSAP384SHA384=14 ECDSAP384SHA384 value + * @property {number} ED25519=15 ED25519 value + * @property {number} ED448=16 ED448 value + * @property {number} INDIRECT=252 INDIRECT value + * @property {number} PRIVATEDNS=253 PRIVATEDNS value + * @property {number} PRIVATEOID=254 PRIVATEOID value + */ + DsRecord.Algorithm = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ALGORITHM_UNSPECIFIED"] = 0; + values[valuesById[1] = "RSAMD5"] = 1; + values[valuesById[2] = "DH"] = 2; + values[valuesById[3] = "DSA"] = 3; + values[valuesById[4] = "ECC"] = 4; + values[valuesById[5] = "RSASHA1"] = 5; + values[valuesById[6] = "DSANSEC3SHA1"] = 6; + values[valuesById[7] = "RSASHA1NSEC3SHA1"] = 7; + values[valuesById[8] = "RSASHA256"] = 8; + values[valuesById[10] = "RSASHA512"] = 10; + values[valuesById[12] = "ECCGOST"] = 12; + values[valuesById[13] = "ECDSAP256SHA256"] = 13; + values[valuesById[14] = "ECDSAP384SHA384"] = 14; + values[valuesById[15] = "ED25519"] = 15; + values[valuesById[16] = "ED448"] = 16; + values[valuesById[252] = "INDIRECT"] = 252; + values[valuesById[253] = "PRIVATEDNS"] = 253; + values[valuesById[254] = "PRIVATEOID"] = 254; + return values; + })(); + + /** + * DigestType enum. + * @name google.cloud.domains.v1.DnsSettings.DsRecord.DigestType + * @enum {number} + * @property {number} DIGEST_TYPE_UNSPECIFIED=0 DIGEST_TYPE_UNSPECIFIED value + * @property {number} SHA1=1 SHA1 value + * @property {number} SHA256=2 SHA256 value + * @property {number} GOST3411=3 GOST3411 value + * @property {number} SHA384=4 SHA384 value + */ + DsRecord.DigestType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DIGEST_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHA1"] = 1; + values[valuesById[2] = "SHA256"] = 2; + values[valuesById[3] = "GOST3411"] = 3; + values[valuesById[4] = "SHA384"] = 4; + return values; + })(); + + return DsRecord; + })(); + + DnsSettings.GlueRecord = (function() { + + /** + * Properties of a GlueRecord. + * @memberof google.cloud.domains.v1.DnsSettings + * @interface IGlueRecord + * @property {string|null} [hostName] GlueRecord hostName + * @property {Array.|null} [ipv4Addresses] GlueRecord ipv4Addresses + * @property {Array.|null} [ipv6Addresses] GlueRecord ipv6Addresses + */ + + /** + * Constructs a new GlueRecord. + * @memberof google.cloud.domains.v1.DnsSettings + * @classdesc Represents a GlueRecord. + * @implements IGlueRecord + * @constructor + * @param {google.cloud.domains.v1.DnsSettings.IGlueRecord=} [properties] Properties to set + */ + function GlueRecord(properties) { + this.ipv4Addresses = []; + this.ipv6Addresses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GlueRecord hostName. + * @member {string} hostName + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.hostName = ""; + + /** + * GlueRecord ipv4Addresses. + * @member {Array.} ipv4Addresses + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv4Addresses = $util.emptyArray; + + /** + * GlueRecord ipv6Addresses. + * @member {Array.} ipv6Addresses + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv6Addresses = $util.emptyArray; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGlueRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DnsSettings.GlueRecord} GlueRecord instance + */ + GlueRecord.create = function create(properties) { + return new GlueRecord(properties); + }; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GlueRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hostName != null && Object.hasOwnProperty.call(message, "hostName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.hostName); + if (message.ipv4Addresses != null && message.ipv4Addresses.length) + for (var i = 0; i < message.ipv4Addresses.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ipv4Addresses[i]); + if (message.ipv6Addresses != null && message.ipv6Addresses.length) + for (var i = 0; i < message.ipv6Addresses.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.ipv6Addresses[i]); + return writer; + }; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DnsSettings.GlueRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DnsSettings.GlueRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.hostName = reader.string(); + break; + } + case 2: { + if (!(message.ipv4Addresses && message.ipv4Addresses.length)) + message.ipv4Addresses = []; + message.ipv4Addresses.push(reader.string()); + break; + } + case 3: { + if (!(message.ipv6Addresses && message.ipv6Addresses.length)) + message.ipv6Addresses = []; + message.ipv6Addresses.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GlueRecord message. + * @function verify + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GlueRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hostName != null && message.hasOwnProperty("hostName")) + if (!$util.isString(message.hostName)) + return "hostName: string expected"; + if (message.ipv4Addresses != null && message.hasOwnProperty("ipv4Addresses")) { + if (!Array.isArray(message.ipv4Addresses)) + return "ipv4Addresses: array expected"; + for (var i = 0; i < message.ipv4Addresses.length; ++i) + if (!$util.isString(message.ipv4Addresses[i])) + return "ipv4Addresses: string[] expected"; + } + if (message.ipv6Addresses != null && message.hasOwnProperty("ipv6Addresses")) { + if (!Array.isArray(message.ipv6Addresses)) + return "ipv6Addresses: array expected"; + for (var i = 0; i < message.ipv6Addresses.length; ++i) + if (!$util.isString(message.ipv6Addresses[i])) + return "ipv6Addresses: string[] expected"; + } + return null; + }; + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DnsSettings.GlueRecord} GlueRecord + */ + GlueRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DnsSettings.GlueRecord) + return object; + var message = new $root.google.cloud.domains.v1.DnsSettings.GlueRecord(); + if (object.hostName != null) + message.hostName = String(object.hostName); + if (object.ipv4Addresses) { + if (!Array.isArray(object.ipv4Addresses)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.GlueRecord.ipv4Addresses: array expected"); + message.ipv4Addresses = []; + for (var i = 0; i < object.ipv4Addresses.length; ++i) + message.ipv4Addresses[i] = String(object.ipv4Addresses[i]); + } + if (object.ipv6Addresses) { + if (!Array.isArray(object.ipv6Addresses)) + throw TypeError(".google.cloud.domains.v1.DnsSettings.GlueRecord.ipv6Addresses: array expected"); + message.ipv6Addresses = []; + for (var i = 0; i < object.ipv6Addresses.length; ++i) + message.ipv6Addresses[i] = String(object.ipv6Addresses[i]); + } + return message; + }; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1.DnsSettings.GlueRecord} message GlueRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GlueRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.ipv4Addresses = []; + object.ipv6Addresses = []; + } + if (options.defaults) + object.hostName = ""; + if (message.hostName != null && message.hasOwnProperty("hostName")) + object.hostName = message.hostName; + if (message.ipv4Addresses && message.ipv4Addresses.length) { + object.ipv4Addresses = []; + for (var j = 0; j < message.ipv4Addresses.length; ++j) + object.ipv4Addresses[j] = message.ipv4Addresses[j]; + } + if (message.ipv6Addresses && message.ipv6Addresses.length) { + object.ipv6Addresses = []; + for (var j = 0; j < message.ipv6Addresses.length; ++j) + object.ipv6Addresses[j] = message.ipv6Addresses[j]; + } + return object; + }; + + /** + * Converts this GlueRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @instance + * @returns {Object.} JSON object + */ + GlueRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GlueRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DnsSettings.GlueRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GlueRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DnsSettings.GlueRecord"; + }; + + return GlueRecord; + })(); + + /** + * DsState enum. + * @name google.cloud.domains.v1.DnsSettings.DsState + * @enum {number} + * @property {number} DS_STATE_UNSPECIFIED=0 DS_STATE_UNSPECIFIED value + * @property {number} DS_RECORDS_UNPUBLISHED=1 DS_RECORDS_UNPUBLISHED value + * @property {number} DS_RECORDS_PUBLISHED=2 DS_RECORDS_PUBLISHED value + */ + DnsSettings.DsState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DS_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DS_RECORDS_UNPUBLISHED"] = 1; + values[valuesById[2] = "DS_RECORDS_PUBLISHED"] = 2; + return values; + })(); + + return DnsSettings; + })(); + + v1.ContactSettings = (function() { + + /** + * Properties of a ContactSettings. + * @memberof google.cloud.domains.v1 + * @interface IContactSettings + * @property {google.cloud.domains.v1.ContactPrivacy|null} [privacy] ContactSettings privacy + * @property {google.cloud.domains.v1.ContactSettings.IContact|null} [registrantContact] ContactSettings registrantContact + * @property {google.cloud.domains.v1.ContactSettings.IContact|null} [adminContact] ContactSettings adminContact + * @property {google.cloud.domains.v1.ContactSettings.IContact|null} [technicalContact] ContactSettings technicalContact + */ + + /** + * Constructs a new ContactSettings. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ContactSettings. + * @implements IContactSettings + * @constructor + * @param {google.cloud.domains.v1.IContactSettings=} [properties] Properties to set + */ + function ContactSettings(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]]; + } + + /** + * ContactSettings privacy. + * @member {google.cloud.domains.v1.ContactPrivacy} privacy + * @memberof google.cloud.domains.v1.ContactSettings + * @instance + */ + ContactSettings.prototype.privacy = 0; + + /** + * ContactSettings registrantContact. + * @member {google.cloud.domains.v1.ContactSettings.IContact|null|undefined} registrantContact + * @memberof google.cloud.domains.v1.ContactSettings + * @instance + */ + ContactSettings.prototype.registrantContact = null; + + /** + * ContactSettings adminContact. + * @member {google.cloud.domains.v1.ContactSettings.IContact|null|undefined} adminContact + * @memberof google.cloud.domains.v1.ContactSettings + * @instance + */ + ContactSettings.prototype.adminContact = null; + + /** + * ContactSettings technicalContact. + * @member {google.cloud.domains.v1.ContactSettings.IContact|null|undefined} technicalContact + * @memberof google.cloud.domains.v1.ContactSettings + * @instance + */ + ContactSettings.prototype.technicalContact = null; + + /** + * Creates a new ContactSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {google.cloud.domains.v1.IContactSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ContactSettings} ContactSettings instance + */ + ContactSettings.create = function create(properties) { + return new ContactSettings(properties); + }; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {google.cloud.domains.v1.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.privacy != null && Object.hasOwnProperty.call(message, "privacy")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.privacy); + if (message.registrantContact != null && Object.hasOwnProperty.call(message, "registrantContact")) + $root.google.cloud.domains.v1.ContactSettings.Contact.encode(message.registrantContact, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.adminContact != null && Object.hasOwnProperty.call(message, "adminContact")) + $root.google.cloud.domains.v1.ContactSettings.Contact.encode(message.adminContact, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.technicalContact != null && Object.hasOwnProperty.call(message, "technicalContact")) + $root.google.cloud.domains.v1.ContactSettings.Contact.encode(message.technicalContact, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {google.cloud.domains.v1.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ContactSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.privacy = reader.int32(); + break; + } + case 2: { + message.registrantContact = $root.google.cloud.domains.v1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 3: { + message.adminContact = $root.google.cloud.domains.v1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 4: { + message.technicalContact = $root.google.cloud.domains.v1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContactSettings message. + * @function verify + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContactSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.privacy != null && message.hasOwnProperty("privacy")) + switch (message.privacy) { + default: + return "privacy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) { + var error = $root.google.cloud.domains.v1.ContactSettings.Contact.verify(message.registrantContact); + if (error) + return "registrantContact." + error; + } + if (message.adminContact != null && message.hasOwnProperty("adminContact")) { + var error = $root.google.cloud.domains.v1.ContactSettings.Contact.verify(message.adminContact); + if (error) + return "adminContact." + error; + } + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) { + var error = $root.google.cloud.domains.v1.ContactSettings.Contact.verify(message.technicalContact); + if (error) + return "technicalContact." + error; + } + return null; + }; + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ContactSettings} ContactSettings + */ + ContactSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ContactSettings) + return object; + var message = new $root.google.cloud.domains.v1.ContactSettings(); + switch (object.privacy) { + default: + if (typeof object.privacy === "number") { + message.privacy = object.privacy; + break; + } + break; + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.privacy = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.privacy = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.privacy = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.privacy = 3; + break; + } + if (object.registrantContact != null) { + if (typeof object.registrantContact !== "object") + throw TypeError(".google.cloud.domains.v1.ContactSettings.registrantContact: object expected"); + message.registrantContact = $root.google.cloud.domains.v1.ContactSettings.Contact.fromObject(object.registrantContact); + } + if (object.adminContact != null) { + if (typeof object.adminContact !== "object") + throw TypeError(".google.cloud.domains.v1.ContactSettings.adminContact: object expected"); + message.adminContact = $root.google.cloud.domains.v1.ContactSettings.Contact.fromObject(object.adminContact); + } + if (object.technicalContact != null) { + if (typeof object.technicalContact !== "object") + throw TypeError(".google.cloud.domains.v1.ContactSettings.technicalContact: object expected"); + message.technicalContact = $root.google.cloud.domains.v1.ContactSettings.Contact.fromObject(object.technicalContact); + } + return message; + }; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {google.cloud.domains.v1.ContactSettings} message ContactSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContactSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.privacy = options.enums === String ? "CONTACT_PRIVACY_UNSPECIFIED" : 0; + object.registrantContact = null; + object.adminContact = null; + object.technicalContact = null; + } + if (message.privacy != null && message.hasOwnProperty("privacy")) + object.privacy = options.enums === String ? $root.google.cloud.domains.v1.ContactPrivacy[message.privacy] === undefined ? message.privacy : $root.google.cloud.domains.v1.ContactPrivacy[message.privacy] : message.privacy; + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) + object.registrantContact = $root.google.cloud.domains.v1.ContactSettings.Contact.toObject(message.registrantContact, options); + if (message.adminContact != null && message.hasOwnProperty("adminContact")) + object.adminContact = $root.google.cloud.domains.v1.ContactSettings.Contact.toObject(message.adminContact, options); + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) + object.technicalContact = $root.google.cloud.domains.v1.ContactSettings.Contact.toObject(message.technicalContact, options); + return object; + }; + + /** + * Converts this ContactSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ContactSettings + * @instance + * @returns {Object.} JSON object + */ + ContactSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ContactSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ContactSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ContactSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ContactSettings"; + }; + + ContactSettings.Contact = (function() { + + /** + * Properties of a Contact. + * @memberof google.cloud.domains.v1.ContactSettings + * @interface IContact + * @property {google.type.IPostalAddress|null} [postalAddress] Contact postalAddress + * @property {string|null} [email] Contact email + * @property {string|null} [phoneNumber] Contact phoneNumber + * @property {string|null} [faxNumber] Contact faxNumber + */ + + /** + * Constructs a new Contact. + * @memberof google.cloud.domains.v1.ContactSettings + * @classdesc Represents a Contact. + * @implements IContact + * @constructor + * @param {google.cloud.domains.v1.ContactSettings.IContact=} [properties] Properties to set + */ + function Contact(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]]; + } + + /** + * Contact postalAddress. + * @member {google.type.IPostalAddress|null|undefined} postalAddress + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @instance + */ + Contact.prototype.postalAddress = null; + + /** + * Contact email. + * @member {string} email + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @instance + */ + Contact.prototype.email = ""; + + /** + * Contact phoneNumber. + * @member {string} phoneNumber + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @instance + */ + Contact.prototype.phoneNumber = ""; + + /** + * Contact faxNumber. + * @member {string} faxNumber + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @instance + */ + Contact.prototype.faxNumber = ""; + + /** + * Creates a new Contact instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1.ContactSettings.IContact=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ContactSettings.Contact} Contact instance + */ + Contact.create = function create(properties) { + return new Contact(properties); + }; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.Contact.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress")) + $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.email != null && Object.hasOwnProperty.call(message, "email")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.email); + if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.phoneNumber); + if (message.faxNumber != null && Object.hasOwnProperty.call(message, "faxNumber")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.faxNumber); + return writer; + }; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ContactSettings.Contact.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ContactSettings.Contact(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32()); + break; + } + case 2: { + message.email = reader.string(); + break; + } + case 3: { + message.phoneNumber = reader.string(); + break; + } + case 4: { + message.faxNumber = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Contact message. + * @function verify + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Contact.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) { + var error = $root.google.type.PostalAddress.verify(message.postalAddress); + if (error) + return "postalAddress." + error; + } + if (message.email != null && message.hasOwnProperty("email")) + if (!$util.isString(message.email)) + return "email: string expected"; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + if (!$util.isString(message.phoneNumber)) + return "phoneNumber: string expected"; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + if (!$util.isString(message.faxNumber)) + return "faxNumber: string expected"; + return null; + }; + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ContactSettings.Contact} Contact + */ + Contact.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ContactSettings.Contact) + return object; + var message = new $root.google.cloud.domains.v1.ContactSettings.Contact(); + if (object.postalAddress != null) { + if (typeof object.postalAddress !== "object") + throw TypeError(".google.cloud.domains.v1.ContactSettings.Contact.postalAddress: object expected"); + message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress); + } + if (object.email != null) + message.email = String(object.email); + if (object.phoneNumber != null) + message.phoneNumber = String(object.phoneNumber); + if (object.faxNumber != null) + message.faxNumber = String(object.faxNumber); + return message; + }; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1.ContactSettings.Contact} message Contact + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Contact.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.postalAddress = null; + object.email = ""; + object.phoneNumber = ""; + object.faxNumber = ""; + } + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) + object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options); + if (message.email != null && message.hasOwnProperty("email")) + object.email = message.email; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + object.phoneNumber = message.phoneNumber; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + object.faxNumber = message.faxNumber; + return object; + }; + + /** + * Converts this Contact to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @instance + * @returns {Object.} JSON object + */ + Contact.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Contact + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ContactSettings.Contact + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Contact.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ContactSettings.Contact"; + }; + + return Contact; + })(); + + return ContactSettings; + })(); + + v1.SearchDomainsRequest = (function() { + + /** + * Properties of a SearchDomainsRequest. + * @memberof google.cloud.domains.v1 + * @interface ISearchDomainsRequest + * @property {string|null} [query] SearchDomainsRequest query + * @property {string|null} [location] SearchDomainsRequest location + */ + + /** + * Constructs a new SearchDomainsRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a SearchDomainsRequest. + * @implements ISearchDomainsRequest + * @constructor + * @param {google.cloud.domains.v1.ISearchDomainsRequest=} [properties] Properties to set + */ + function SearchDomainsRequest(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]]; + } + + /** + * SearchDomainsRequest query. + * @member {string} query + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.query = ""; + + /** + * SearchDomainsRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.location = ""; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1.ISearchDomainsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.SearchDomainsRequest} SearchDomainsRequest instance + */ + SearchDomainsRequest.create = function create(properties) { + return new SearchDomainsRequest(properties); + }; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.query); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.SearchDomainsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.query = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsRequest message. + * @function verify + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.query != null && message.hasOwnProperty("query")) + if (!$util.isString(message.query)) + return "query: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.SearchDomainsRequest} SearchDomainsRequest + */ + SearchDomainsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.SearchDomainsRequest) + return object; + var message = new $root.google.cloud.domains.v1.SearchDomainsRequest(); + if (object.query != null) + message.query = String(object.query); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1.SearchDomainsRequest} message SearchDomainsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.query = ""; + object.location = ""; + } + if (message.query != null && message.hasOwnProperty("query")) + object.query = message.query; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.SearchDomainsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.SearchDomainsRequest"; + }; + + return SearchDomainsRequest; + })(); + + v1.SearchDomainsResponse = (function() { + + /** + * Properties of a SearchDomainsResponse. + * @memberof google.cloud.domains.v1 + * @interface ISearchDomainsResponse + * @property {Array.|null} [registerParameters] SearchDomainsResponse registerParameters + */ + + /** + * Constructs a new SearchDomainsResponse. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a SearchDomainsResponse. + * @implements ISearchDomainsResponse + * @constructor + * @param {google.cloud.domains.v1.ISearchDomainsResponse=} [properties] Properties to set + */ + function SearchDomainsResponse(properties) { + this.registerParameters = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SearchDomainsResponse registerParameters. + * @member {Array.} registerParameters + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @instance + */ + SearchDomainsResponse.prototype.registerParameters = $util.emptyArray; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1.ISearchDomainsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1.SearchDomainsResponse} SearchDomainsResponse instance + */ + SearchDomainsResponse.create = function create(properties) { + return new SearchDomainsResponse(properties); + }; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && message.registerParameters.length) + for (var i = 0; i < message.registerParameters.length; ++i) + $root.google.cloud.domains.v1.RegisterParameters.encode(message.registerParameters[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.SearchDomainsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.SearchDomainsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registerParameters && message.registerParameters.length)) + message.registerParameters = []; + message.registerParameters.push($root.google.cloud.domains.v1.RegisterParameters.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsResponse message. + * @function verify + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + if (!Array.isArray(message.registerParameters)) + return "registerParameters: array expected"; + for (var i = 0; i < message.registerParameters.length; ++i) { + var error = $root.google.cloud.domains.v1.RegisterParameters.verify(message.registerParameters[i]); + if (error) + return "registerParameters." + error; + } + } + return null; + }; + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.SearchDomainsResponse} SearchDomainsResponse + */ + SearchDomainsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.SearchDomainsResponse) + return object; + var message = new $root.google.cloud.domains.v1.SearchDomainsResponse(); + if (object.registerParameters) { + if (!Array.isArray(object.registerParameters)) + throw TypeError(".google.cloud.domains.v1.SearchDomainsResponse.registerParameters: array expected"); + message.registerParameters = []; + for (var i = 0; i < object.registerParameters.length; ++i) { + if (typeof object.registerParameters[i] !== "object") + throw TypeError(".google.cloud.domains.v1.SearchDomainsResponse.registerParameters: object expected"); + message.registerParameters[i] = $root.google.cloud.domains.v1.RegisterParameters.fromObject(object.registerParameters[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1.SearchDomainsResponse} message SearchDomainsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registerParameters = []; + if (message.registerParameters && message.registerParameters.length) { + object.registerParameters = []; + for (var j = 0; j < message.registerParameters.length; ++j) + object.registerParameters[j] = $root.google.cloud.domains.v1.RegisterParameters.toObject(message.registerParameters[j], options); + } + return object; + }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1.SearchDomainsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.SearchDomainsResponse"; + }; + + return SearchDomainsResponse; + })(); + + v1.RetrieveRegisterParametersRequest = (function() { + + /** + * Properties of a RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1 + * @interface IRetrieveRegisterParametersRequest + * @property {string|null} [domainName] RetrieveRegisterParametersRequest domainName + * @property {string|null} [location] RetrieveRegisterParametersRequest location + */ + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RetrieveRegisterParametersRequest. + * @implements IRetrieveRegisterParametersRequest + * @constructor + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest=} [properties] Properties to set + */ + function RetrieveRegisterParametersRequest(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]]; + } + + /** + * RetrieveRegisterParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.domainName = ""; + + /** + * RetrieveRegisterParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest instance + */ + RetrieveRegisterParametersRequest.create = function create(properties) { + return new RetrieveRegisterParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RetrieveRegisterParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + */ + RetrieveRegisterParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RetrieveRegisterParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1.RetrieveRegisterParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1.RetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RetrieveRegisterParametersRequest"; + }; + + return RetrieveRegisterParametersRequest; + })(); + + v1.RetrieveRegisterParametersResponse = (function() { + + /** + * Properties of a RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1 + * @interface IRetrieveRegisterParametersResponse + * @property {google.cloud.domains.v1.IRegisterParameters|null} [registerParameters] RetrieveRegisterParametersResponse registerParameters + */ + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RetrieveRegisterParametersResponse. + * @implements IRetrieveRegisterParametersResponse + * @constructor + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersResponse=} [properties] Properties to set + */ + function RetrieveRegisterParametersResponse(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]]; + } + + /** + * RetrieveRegisterParametersResponse registerParameters. + * @member {google.cloud.domains.v1.IRegisterParameters|null|undefined} registerParameters + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @instance + */ + RetrieveRegisterParametersResponse.prototype.registerParameters = null; + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse instance + */ + RetrieveRegisterParametersResponse.create = function create(properties) { + return new RetrieveRegisterParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && Object.hasOwnProperty.call(message, "registerParameters")) + $root.google.cloud.domains.v1.RegisterParameters.encode(message.registerParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RetrieveRegisterParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registerParameters = $root.google.cloud.domains.v1.RegisterParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + var error = $root.google.cloud.domains.v1.RegisterParameters.verify(message.registerParameters); + if (error) + return "registerParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + */ + RetrieveRegisterParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RetrieveRegisterParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1.RetrieveRegisterParametersResponse(); + if (object.registerParameters != null) { + if (typeof object.registerParameters !== "object") + throw TypeError(".google.cloud.domains.v1.RetrieveRegisterParametersResponse.registerParameters: object expected"); + message.registerParameters = $root.google.cloud.domains.v1.RegisterParameters.fromObject(object.registerParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1.RetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registerParameters = null; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) + object.registerParameters = $root.google.cloud.domains.v1.RegisterParameters.toObject(message.registerParameters, options); + return object; + }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RetrieveRegisterParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RetrieveRegisterParametersResponse"; + }; + + return RetrieveRegisterParametersResponse; + })(); + + v1.RegisterDomainRequest = (function() { + + /** + * Properties of a RegisterDomainRequest. + * @memberof google.cloud.domains.v1 + * @interface IRegisterDomainRequest + * @property {string|null} [parent] RegisterDomainRequest parent + * @property {google.cloud.domains.v1.IRegistration|null} [registration] RegisterDomainRequest registration + * @property {Array.|null} [domainNotices] RegisterDomainRequest domainNotices + * @property {Array.|null} [contactNotices] RegisterDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterDomainRequest yearlyPrice + * @property {boolean|null} [validateOnly] RegisterDomainRequest validateOnly + */ + + /** + * Constructs a new RegisterDomainRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RegisterDomainRequest. + * @implements IRegisterDomainRequest + * @constructor + * @param {google.cloud.domains.v1.IRegisterDomainRequest=} [properties] Properties to set + */ + function RegisterDomainRequest(properties) { + this.domainNotices = []; + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.parent = ""; + + /** + * RegisterDomainRequest registration. + * @member {google.cloud.domains.v1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.registration = null; + + /** + * RegisterDomainRequest domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * RegisterDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.yearlyPrice = null; + + /** + * RegisterDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1.IRegisterDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RegisterDomainRequest} RegisterDomainRequest instance + */ + RegisterDomainRequest.create = function create(properties) { + return new RegisterDomainRequest(properties); + }; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1.RegisterDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RegisterDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RegisterDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RegisterDomainRequest} RegisterDomainRequest + */ + RegisterDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RegisterDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1.RegisterDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1.RegisterDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1.Registration.fromObject(object.registration); + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1.RegisterDomainRequest.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1.RegisterDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1.RegisterDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1.RegisterDomainRequest} message RegisterDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.domainNotices = []; + object.contactNotices = []; + } + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1.Registration.toObject(message.registration, options); + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @instance + * @returns {Object.} JSON object + */ + RegisterDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RegisterDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RegisterDomainRequest"; + }; + + return RegisterDomainRequest; + })(); + + v1.RetrieveTransferParametersRequest = (function() { + + /** + * Properties of a RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1 + * @interface IRetrieveTransferParametersRequest + * @property {string|null} [domainName] RetrieveTransferParametersRequest domainName + * @property {string|null} [location] RetrieveTransferParametersRequest location + */ + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RetrieveTransferParametersRequest. + * @implements IRetrieveTransferParametersRequest + * @constructor + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest=} [properties] Properties to set + */ + function RetrieveTransferParametersRequest(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]]; + } + + /** + * RetrieveTransferParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.domainName = ""; + + /** + * RetrieveTransferParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest instance + */ + RetrieveTransferParametersRequest.create = function create(properties) { + return new RetrieveTransferParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RetrieveTransferParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + */ + RetrieveTransferParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RetrieveTransferParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1.RetrieveTransferParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1.RetrieveTransferParametersRequest} message RetrieveTransferParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RetrieveTransferParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RetrieveTransferParametersRequest"; + }; + + return RetrieveTransferParametersRequest; + })(); + + v1.RetrieveTransferParametersResponse = (function() { + + /** + * Properties of a RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1 + * @interface IRetrieveTransferParametersResponse + * @property {google.cloud.domains.v1.ITransferParameters|null} [transferParameters] RetrieveTransferParametersResponse transferParameters + */ + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RetrieveTransferParametersResponse. + * @implements IRetrieveTransferParametersResponse + * @constructor + * @param {google.cloud.domains.v1.IRetrieveTransferParametersResponse=} [properties] Properties to set + */ + function RetrieveTransferParametersResponse(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]]; + } + + /** + * RetrieveTransferParametersResponse transferParameters. + * @member {google.cloud.domains.v1.ITransferParameters|null|undefined} transferParameters + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @instance + */ + RetrieveTransferParametersResponse.prototype.transferParameters = null; + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse instance + */ + RetrieveTransferParametersResponse.create = function create(properties) { + return new RetrieveTransferParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transferParameters != null && Object.hasOwnProperty.call(message, "transferParameters")) + $root.google.cloud.domains.v1.TransferParameters.encode(message.transferParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RetrieveTransferParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.transferParameters = $root.google.cloud.domains.v1.TransferParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) { + var error = $root.google.cloud.domains.v1.TransferParameters.verify(message.transferParameters); + if (error) + return "transferParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + */ + RetrieveTransferParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RetrieveTransferParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1.RetrieveTransferParametersResponse(); + if (object.transferParameters != null) { + if (typeof object.transferParameters !== "object") + throw TypeError(".google.cloud.domains.v1.RetrieveTransferParametersResponse.transferParameters: object expected"); + message.transferParameters = $root.google.cloud.domains.v1.TransferParameters.fromObject(object.transferParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1.RetrieveTransferParametersResponse} message RetrieveTransferParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.transferParameters = null; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) + object.transferParameters = $root.google.cloud.domains.v1.TransferParameters.toObject(message.transferParameters, options); + return object; + }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RetrieveTransferParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RetrieveTransferParametersResponse"; + }; + + return RetrieveTransferParametersResponse; + })(); + + v1.TransferDomainRequest = (function() { + + /** + * Properties of a TransferDomainRequest. + * @memberof google.cloud.domains.v1 + * @interface ITransferDomainRequest + * @property {string|null} [parent] TransferDomainRequest parent + * @property {google.cloud.domains.v1.IRegistration|null} [registration] TransferDomainRequest registration + * @property {Array.|null} [contactNotices] TransferDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] TransferDomainRequest yearlyPrice + * @property {google.cloud.domains.v1.IAuthorizationCode|null} [authorizationCode] TransferDomainRequest authorizationCode + * @property {boolean|null} [validateOnly] TransferDomainRequest validateOnly + */ + + /** + * Constructs a new TransferDomainRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a TransferDomainRequest. + * @implements ITransferDomainRequest + * @constructor + * @param {google.cloud.domains.v1.ITransferDomainRequest=} [properties] Properties to set + */ + function TransferDomainRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.parent = ""; + + /** + * TransferDomainRequest registration. + * @member {google.cloud.domains.v1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.registration = null; + + /** + * TransferDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * TransferDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.yearlyPrice = null; + + /** + * TransferDomainRequest authorizationCode. + * @member {google.cloud.domains.v1.IAuthorizationCode|null|undefined} authorizationCode + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.authorizationCode = null; + + /** + * TransferDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1.ITransferDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.TransferDomainRequest} TransferDomainRequest instance + */ + TransferDomainRequest.create = function create(properties) { + return new TransferDomainRequest(properties); + }; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1.TransferDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.authorizationCode != null && Object.hasOwnProperty.call(message, "authorizationCode")) + $root.google.cloud.domains.v1.AuthorizationCode.encode(message.authorizationCode, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.TransferDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.TransferDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 4: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 5: { + message.authorizationCode = $root.google.cloud.domains.v1.AuthorizationCode.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) { + var error = $root.google.cloud.domains.v1.AuthorizationCode.verify(message.authorizationCode); + if (error) + return "authorizationCode." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.TransferDomainRequest} TransferDomainRequest + */ + TransferDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.TransferDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1.TransferDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1.TransferDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1.Registration.fromObject(object.registration); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1.TransferDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1.TransferDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.authorizationCode != null) { + if (typeof object.authorizationCode !== "object") + throw TypeError(".google.cloud.domains.v1.TransferDomainRequest.authorizationCode: object expected"); + message.authorizationCode = $root.google.cloud.domains.v1.AuthorizationCode.fromObject(object.authorizationCode); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1.TransferDomainRequest} message TransferDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.authorizationCode = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1.Registration.toObject(message.registration, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) + object.authorizationCode = $root.google.cloud.domains.v1.AuthorizationCode.toObject(message.authorizationCode, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this TransferDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @instance + * @returns {Object.} JSON object + */ + TransferDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.TransferDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.TransferDomainRequest"; + }; + + return TransferDomainRequest; + })(); + + v1.ListRegistrationsRequest = (function() { + + /** + * Properties of a ListRegistrationsRequest. + * @memberof google.cloud.domains.v1 + * @interface IListRegistrationsRequest + * @property {string|null} [parent] ListRegistrationsRequest parent + * @property {number|null} [pageSize] ListRegistrationsRequest pageSize + * @property {string|null} [pageToken] ListRegistrationsRequest pageToken + * @property {string|null} [filter] ListRegistrationsRequest filter + */ + + /** + * Constructs a new ListRegistrationsRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ListRegistrationsRequest. + * @implements IListRegistrationsRequest + * @constructor + * @param {google.cloud.domains.v1.IListRegistrationsRequest=} [properties] Properties to set + */ + function ListRegistrationsRequest(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]]; + } + + /** + * ListRegistrationsRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.parent = ""; + + /** + * ListRegistrationsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageSize = 0; + + /** + * ListRegistrationsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageToken = ""; + + /** + * ListRegistrationsRequest filter. + * @member {string} filter + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.filter = ""; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1.IListRegistrationsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ListRegistrationsRequest} ListRegistrationsRequest instance + */ + ListRegistrationsRequest.create = function create(properties) { + return new ListRegistrationsRequest(properties); + }; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ListRegistrationsRequest} ListRegistrationsRequest + */ + ListRegistrationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ListRegistrationsRequest) + return object; + var message = new $root.google.cloud.domains.v1.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1.ListRegistrationsRequest} message ListRegistrationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsRequest.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 ListRegistrationsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ListRegistrationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ListRegistrationsRequest"; + }; + + return ListRegistrationsRequest; + })(); + + v1.ListRegistrationsResponse = (function() { + + /** + * Properties of a ListRegistrationsResponse. + * @memberof google.cloud.domains.v1 + * @interface IListRegistrationsResponse + * @property {Array.|null} [registrations] ListRegistrationsResponse registrations + * @property {string|null} [nextPageToken] ListRegistrationsResponse nextPageToken + */ + + /** + * Constructs a new ListRegistrationsResponse. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ListRegistrationsResponse. + * @implements IListRegistrationsResponse + * @constructor + * @param {google.cloud.domains.v1.IListRegistrationsResponse=} [properties] Properties to set + */ + function ListRegistrationsResponse(properties) { + this.registrations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListRegistrationsResponse registrations. + * @member {Array.} registrations + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.registrations = $util.emptyArray; + + /** + * ListRegistrationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1.IListRegistrationsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ListRegistrationsResponse} ListRegistrationsResponse instance + */ + ListRegistrationsResponse.create = function create(properties) { + return new ListRegistrationsResponse(properties); + }; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registrations != null && message.registrations.length) + for (var i = 0; i < message.registrations.length; ++i) + $root.google.cloud.domains.v1.Registration.encode(message.registrations[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 ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ListRegistrationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ListRegistrationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registrations && message.registrations.length)) + message.registrations = []; + message.registrations.push($root.google.cloud.domains.v1.Registration.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsResponse message. + * @function verify + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registrations != null && message.hasOwnProperty("registrations")) { + if (!Array.isArray(message.registrations)) + return "registrations: array expected"; + for (var i = 0; i < message.registrations.length; ++i) { + var error = $root.google.cloud.domains.v1.Registration.verify(message.registrations[i]); + if (error) + return "registrations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ListRegistrationsResponse} ListRegistrationsResponse + */ + ListRegistrationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ListRegistrationsResponse) + return object; + var message = new $root.google.cloud.domains.v1.ListRegistrationsResponse(); + if (object.registrations) { + if (!Array.isArray(object.registrations)) + throw TypeError(".google.cloud.domains.v1.ListRegistrationsResponse.registrations: array expected"); + message.registrations = []; + for (var i = 0; i < object.registrations.length; ++i) { + if (typeof object.registrations[i] !== "object") + throw TypeError(".google.cloud.domains.v1.ListRegistrationsResponse.registrations: object expected"); + message.registrations[i] = $root.google.cloud.domains.v1.Registration.fromObject(object.registrations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1.ListRegistrationsResponse} message ListRegistrationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registrations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.registrations && message.registrations.length) { + object.registrations = []; + for (var j = 0; j < message.registrations.length; ++j) + object.registrations[j] = $root.google.cloud.domains.v1.Registration.toObject(message.registrations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ListRegistrationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ListRegistrationsResponse"; + }; + + return ListRegistrationsResponse; + })(); + + v1.GetRegistrationRequest = (function() { + + /** + * Properties of a GetRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @interface IGetRegistrationRequest + * @property {string|null} [name] GetRegistrationRequest name + */ + + /** + * Constructs a new GetRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a GetRegistrationRequest. + * @implements IGetRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1.IGetRegistrationRequest=} [properties] Properties to set + */ + function GetRegistrationRequest(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]]; + } + + /** + * GetRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @instance + */ + GetRegistrationRequest.prototype.name = ""; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IGetRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.GetRegistrationRequest} GetRegistrationRequest instance + */ + GetRegistrationRequest.create = function create(properties) { + return new GetRegistrationRequest(properties); + }; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.GetRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.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 GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.GetRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.GetRegistrationRequest(); + 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 GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetRegistrationRequest.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 GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.GetRegistrationRequest} GetRegistrationRequest + */ + GetRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.GetRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1.GetRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1.GetRegistrationRequest} message GetRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetRegistrationRequest.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 GetRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + GetRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.GetRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.GetRegistrationRequest"; + }; + + return GetRegistrationRequest; + })(); + + v1.UpdateRegistrationRequest = (function() { + + /** + * Properties of an UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @interface IUpdateRegistrationRequest + * @property {google.cloud.domains.v1.IRegistration|null} [registration] UpdateRegistrationRequest registration + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateRegistrationRequest updateMask + */ + + /** + * Constructs a new UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents an UpdateRegistrationRequest. + * @implements IUpdateRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest=} [properties] Properties to set + */ + function UpdateRegistrationRequest(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]]; + } + + /** + * UpdateRegistrationRequest registration. + * @member {google.cloud.domains.v1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.registration = null; + + /** + * UpdateRegistrationRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.UpdateRegistrationRequest} UpdateRegistrationRequest instance + */ + UpdateRegistrationRequest.create = function create(properties) { + return new UpdateRegistrationRequest(properties); + }; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.UpdateRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1.Registration.encode(message.registration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.UpdateRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.UpdateRegistrationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = $root.google.cloud.domains.v1.Registration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateRegistrationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.UpdateRegistrationRequest} UpdateRegistrationRequest + */ + UpdateRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.UpdateRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1.UpdateRegistrationRequest(); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1.UpdateRegistrationRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1.Registration.fromObject(object.registration); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1.UpdateRegistrationRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1.UpdateRegistrationRequest} message UpdateRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateRegistrationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1.Registration.toObject(message.registration, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.UpdateRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.UpdateRegistrationRequest"; + }; + + return UpdateRegistrationRequest; + })(); + + v1.ConfigureManagementSettingsRequest = (function() { + + /** + * Properties of a ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1 + * @interface IConfigureManagementSettingsRequest + * @property {string|null} [registration] ConfigureManagementSettingsRequest registration + * @property {google.cloud.domains.v1.IManagementSettings|null} [managementSettings] ConfigureManagementSettingsRequest managementSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureManagementSettingsRequest updateMask + */ + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ConfigureManagementSettingsRequest. + * @implements IConfigureManagementSettingsRequest + * @constructor + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest=} [properties] Properties to set + */ + function ConfigureManagementSettingsRequest(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]]; + } + + /** + * ConfigureManagementSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.registration = ""; + + /** + * ConfigureManagementSettingsRequest managementSettings. + * @member {google.cloud.domains.v1.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.managementSettings = null; + + /** + * ConfigureManagementSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.updateMask = null; + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest instance + */ + ConfigureManagementSettingsRequest.create = function create(properties) { + return new ConfigureManagementSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ConfigureManagementSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureManagementSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + */ + ConfigureManagementSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ConfigureManagementSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1.ConfigureManagementSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureManagementSettingsRequest.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.fromObject(object.managementSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureManagementSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1.ConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureManagementSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.managementSettings = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1.ManagementSettings.toObject(message.managementSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureManagementSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ConfigureManagementSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureManagementSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ConfigureManagementSettingsRequest"; + }; + + return ConfigureManagementSettingsRequest; + })(); + + v1.ConfigureDnsSettingsRequest = (function() { + + /** + * Properties of a ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1 + * @interface IConfigureDnsSettingsRequest + * @property {string|null} [registration] ConfigureDnsSettingsRequest registration + * @property {google.cloud.domains.v1.IDnsSettings|null} [dnsSettings] ConfigureDnsSettingsRequest dnsSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureDnsSettingsRequest updateMask + * @property {boolean|null} [validateOnly] ConfigureDnsSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ConfigureDnsSettingsRequest. + * @implements IConfigureDnsSettingsRequest + * @constructor + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest=} [properties] Properties to set + */ + function ConfigureDnsSettingsRequest(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]]; + } + + /** + * ConfigureDnsSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.registration = ""; + + /** + * ConfigureDnsSettingsRequest dnsSettings. + * @member {google.cloud.domains.v1.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.dnsSettings = null; + + /** + * ConfigureDnsSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureDnsSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest instance + */ + ConfigureDnsSettingsRequest.create = function create(properties) { + return new ConfigureDnsSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ConfigureDnsSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureDnsSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + */ + ConfigureDnsSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ConfigureDnsSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1.ConfigureDnsSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureDnsSettingsRequest.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.fromObject(object.dnsSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureDnsSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1.ConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureDnsSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.dnsSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1.DnsSettings.toObject(message.dnsSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureDnsSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ConfigureDnsSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureDnsSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ConfigureDnsSettingsRequest"; + }; + + return ConfigureDnsSettingsRequest; + })(); + + v1.ConfigureContactSettingsRequest = (function() { + + /** + * Properties of a ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1 + * @interface IConfigureContactSettingsRequest + * @property {string|null} [registration] ConfigureContactSettingsRequest registration + * @property {google.cloud.domains.v1.IContactSettings|null} [contactSettings] ConfigureContactSettingsRequest contactSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureContactSettingsRequest updateMask + * @property {Array.|null} [contactNotices] ConfigureContactSettingsRequest contactNotices + * @property {boolean|null} [validateOnly] ConfigureContactSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ConfigureContactSettingsRequest. + * @implements IConfigureContactSettingsRequest + * @constructor + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest=} [properties] Properties to set + */ + function ConfigureContactSettingsRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConfigureContactSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.registration = ""; + + /** + * ConfigureContactSettingsRequest contactSettings. + * @member {google.cloud.domains.v1.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactSettings = null; + + /** + * ConfigureContactSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureContactSettingsRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactNotices = $util.emptyArray; + + /** + * ConfigureContactSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest instance + */ + ConfigureContactSettingsRequest.create = function create(properties) { + return new ConfigureContactSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ConfigureContactSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.contactSettings = $root.google.cloud.domains.v1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureContactSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + */ + ConfigureContactSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ConfigureContactSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1.ConfigureContactSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureContactSettingsRequest.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1.ContactSettings.fromObject(object.contactSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1.ConfigureContactSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1.ConfigureContactSettingsRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1.ConfigureContactSettingsRequest} message ConfigureContactSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureContactSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.registration = ""; + object.contactSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1.ContactSettings.toObject(message.contactSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureContactSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ConfigureContactSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureContactSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ConfigureContactSettingsRequest"; + }; + + return ConfigureContactSettingsRequest; + })(); + + v1.ExportRegistrationRequest = (function() { + + /** + * Properties of an ExportRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @interface IExportRegistrationRequest + * @property {string|null} [name] ExportRegistrationRequest name + */ + + /** + * Constructs a new ExportRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents an ExportRegistrationRequest. + * @implements IExportRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1.IExportRegistrationRequest=} [properties] Properties to set + */ + function ExportRegistrationRequest(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]]; + } + + /** + * ExportRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @instance + */ + ExportRegistrationRequest.prototype.name = ""; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IExportRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ExportRegistrationRequest} ExportRegistrationRequest instance + */ + ExportRegistrationRequest.create = function create(properties) { + return new ExportRegistrationRequest(properties); + }; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.ExportRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ExportRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ExportRegistrationRequest(); + 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 ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExportRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ExportRegistrationRequest} ExportRegistrationRequest + */ + ExportRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ExportRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1.ExportRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1.ExportRegistrationRequest} message ExportRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExportRegistrationRequest.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 ExportRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + ExportRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ExportRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExportRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ExportRegistrationRequest"; + }; + + return ExportRegistrationRequest; + })(); + + v1.DeleteRegistrationRequest = (function() { + + /** + * Properties of a DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @interface IDeleteRegistrationRequest + * @property {string|null} [name] DeleteRegistrationRequest name + */ + + /** + * Constructs a new DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a DeleteRegistrationRequest. + * @implements IDeleteRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest=} [properties] Properties to set + */ + function DeleteRegistrationRequest(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]]; + } + + /** + * DeleteRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @instance + */ + DeleteRegistrationRequest.prototype.name = ""; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.DeleteRegistrationRequest} DeleteRegistrationRequest instance + */ + DeleteRegistrationRequest.create = function create(properties) { + return new DeleteRegistrationRequest(properties); + }; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1.DeleteRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.DeleteRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.DeleteRegistrationRequest(); + 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 DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.DeleteRegistrationRequest} DeleteRegistrationRequest + */ + DeleteRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.DeleteRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1.DeleteRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1.DeleteRegistrationRequest} message DeleteRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.DeleteRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.DeleteRegistrationRequest"; + }; + + return DeleteRegistrationRequest; + })(); + + v1.RetrieveAuthorizationCodeRequest = (function() { + + /** + * Properties of a RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1 + * @interface IRetrieveAuthorizationCodeRequest + * @property {string|null} [registration] RetrieveAuthorizationCodeRequest registration + */ + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RetrieveAuthorizationCodeRequest. + * @implements IRetrieveAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + */ + function RetrieveAuthorizationCodeRequest(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]]; + } + + /** + * RetrieveAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @instance + */ + RetrieveAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest instance + */ + RetrieveAuthorizationCodeRequest.create = function create(properties) { + return new RetrieveAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + */ + RetrieveAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.RetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RetrieveAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RetrieveAuthorizationCodeRequest"; + }; + + return RetrieveAuthorizationCodeRequest; + })(); + + v1.ResetAuthorizationCodeRequest = (function() { + + /** + * Properties of a ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1 + * @interface IResetAuthorizationCodeRequest + * @property {string|null} [registration] ResetAuthorizationCodeRequest registration + */ + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a ResetAuthorizationCodeRequest. + * @implements IResetAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest=} [properties] Properties to set + */ + function ResetAuthorizationCodeRequest(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]]; + } + + /** + * ResetAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @instance + */ + ResetAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest instance + */ + ResetAuthorizationCodeRequest.create = function create(properties) { + return new ResetAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.ResetAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResetAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + */ + ResetAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.ResetAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1.ResetAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1.ResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResetAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + ResetAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1.ResetAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResetAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.ResetAuthorizationCodeRequest"; + }; + + return ResetAuthorizationCodeRequest; + })(); + + v1.RegisterParameters = (function() { + + /** + * Properties of a RegisterParameters. + * @memberof google.cloud.domains.v1 + * @interface IRegisterParameters + * @property {string|null} [domainName] RegisterParameters domainName + * @property {google.cloud.domains.v1.RegisterParameters.Availability|null} [availability] RegisterParameters availability + * @property {Array.|null} [supportedPrivacy] RegisterParameters supportedPrivacy + * @property {Array.|null} [domainNotices] RegisterParameters domainNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterParameters yearlyPrice + */ + + /** + * Constructs a new RegisterParameters. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a RegisterParameters. + * @implements IRegisterParameters + * @constructor + * @param {google.cloud.domains.v1.IRegisterParameters=} [properties] Properties to set + */ + function RegisterParameters(properties) { + this.supportedPrivacy = []; + this.domainNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainName = ""; + + /** + * RegisterParameters availability. + * @member {google.cloud.domains.v1.RegisterParameters.Availability} availability + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.availability = 0; + + /** + * RegisterParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * RegisterParameters domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.yearlyPrice = null; + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {google.cloud.domains.v1.IRegisterParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1.RegisterParameters} RegisterParameters instance + */ + RegisterParameters.create = function create(properties) { + return new RegisterParameters(properties); + }; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1.RegisterParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {google.cloud.domains.v1.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.availability != null && Object.hasOwnProperty.call(message, "availability")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.availability); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1.RegisterParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {google.cloud.domains.v1.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.RegisterParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.availability = reader.int32(); + break; + } + case 3: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 4: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterParameters message. + * @function verify + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.availability != null && message.hasOwnProperty("availability")) + switch (message.availability) { + default: + return "availability: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.RegisterParameters} RegisterParameters + */ + RegisterParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.RegisterParameters) + return object; + var message = new $root.google.cloud.domains.v1.RegisterParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + switch (object.availability) { + default: + if (typeof object.availability === "number") { + message.availability = object.availability; + break; + } + break; + case "AVAILABILITY_UNSPECIFIED": + case 0: + message.availability = 0; + break; + case "AVAILABLE": + case 1: + message.availability = 1; + break; + case "UNAVAILABLE": + case 2: + message.availability = 2; + break; + case "UNSUPPORTED": + case 3: + message.availability = 3; + break; + case "UNKNOWN": + case 4: + message.availability = 4; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1.RegisterParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1.RegisterParameters.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1.RegisterParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {google.cloud.domains.v1.RegisterParameters} message RegisterParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.supportedPrivacy = []; + object.domainNotices = []; + } + if (options.defaults) { + object.domainName = ""; + object.availability = options.enums === String ? "AVAILABILITY_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.availability != null && message.hasOwnProperty("availability")) + object.availability = options.enums === String ? $root.google.cloud.domains.v1.RegisterParameters.Availability[message.availability] === undefined ? message.availability : $root.google.cloud.domains.v1.RegisterParameters.Availability[message.availability] : message.availability; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this RegisterParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.RegisterParameters + * @instance + * @returns {Object.} JSON object + */ + RegisterParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1.RegisterParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.RegisterParameters"; + }; + + /** + * Availability enum. + * @name google.cloud.domains.v1.RegisterParameters.Availability + * @enum {number} + * @property {number} AVAILABILITY_UNSPECIFIED=0 AVAILABILITY_UNSPECIFIED value + * @property {number} AVAILABLE=1 AVAILABLE value + * @property {number} UNAVAILABLE=2 UNAVAILABLE value + * @property {number} UNSUPPORTED=3 UNSUPPORTED value + * @property {number} UNKNOWN=4 UNKNOWN value + */ + RegisterParameters.Availability = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "AVAILABILITY_UNSPECIFIED"] = 0; + values[valuesById[1] = "AVAILABLE"] = 1; + values[valuesById[2] = "UNAVAILABLE"] = 2; + values[valuesById[3] = "UNSUPPORTED"] = 3; + values[valuesById[4] = "UNKNOWN"] = 4; + return values; + })(); + + return RegisterParameters; + })(); + + v1.TransferParameters = (function() { + + /** + * Properties of a TransferParameters. + * @memberof google.cloud.domains.v1 + * @interface ITransferParameters + * @property {string|null} [domainName] TransferParameters domainName + * @property {string|null} [currentRegistrar] TransferParameters currentRegistrar + * @property {Array.|null} [nameServers] TransferParameters nameServers + * @property {google.cloud.domains.v1.TransferLockState|null} [transferLockState] TransferParameters transferLockState + * @property {Array.|null} [supportedPrivacy] TransferParameters supportedPrivacy + * @property {google.type.IMoney|null} [yearlyPrice] TransferParameters yearlyPrice + */ + + /** + * Constructs a new TransferParameters. + * @memberof google.cloud.domains.v1 + * @classdesc Represents a TransferParameters. + * @implements ITransferParameters + * @constructor + * @param {google.cloud.domains.v1.ITransferParameters=} [properties] Properties to set + */ + function TransferParameters(properties) { + this.nameServers = []; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.domainName = ""; + + /** + * TransferParameters currentRegistrar. + * @member {string} currentRegistrar + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.currentRegistrar = ""; + + /** + * TransferParameters nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.nameServers = $util.emptyArray; + + /** + * TransferParameters transferLockState. + * @member {google.cloud.domains.v1.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.transferLockState = 0; + + /** + * TransferParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * TransferParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + */ + TransferParameters.prototype.yearlyPrice = null; + + /** + * Creates a new TransferParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {google.cloud.domains.v1.ITransferParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1.TransferParameters} TransferParameters instance + */ + TransferParameters.create = function create(properties) { + return new TransferParameters(properties); + }; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1.TransferParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {google.cloud.domains.v1.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.currentRegistrar != null && Object.hasOwnProperty.call(message, "currentRegistrar")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.currentRegistrar); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameServers[i]); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1.TransferParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {google.cloud.domains.v1.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.TransferParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.currentRegistrar = reader.string(); + break; + } + case 3: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + case 5: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 6: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferParameters message. + * @function verify + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + if (!$util.isString(message.currentRegistrar)) + return "currentRegistrar: string expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.TransferParameters} TransferParameters + */ + TransferParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.TransferParameters) + return object; + var message = new $root.google.cloud.domains.v1.TransferParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.currentRegistrar != null) + message.currentRegistrar = String(object.currentRegistrar); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1.TransferParameters.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1.TransferParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1.TransferParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {google.cloud.domains.v1.TransferParameters} message TransferParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.supportedPrivacy = []; + } + if (options.defaults) { + object.domainName = ""; + object.currentRegistrar = ""; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + object.currentRegistrar = message.currentRegistrar; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1.TransferLockState[message.transferLockState] : message.transferLockState; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this TransferParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.TransferParameters + * @instance + * @returns {Object.} JSON object + */ + TransferParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1.TransferParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.TransferParameters"; + }; + + return TransferParameters; + })(); + + v1.AuthorizationCode = (function() { + + /** + * Properties of an AuthorizationCode. + * @memberof google.cloud.domains.v1 + * @interface IAuthorizationCode + * @property {string|null} [code] AuthorizationCode code + */ + + /** + * Constructs a new AuthorizationCode. + * @memberof google.cloud.domains.v1 + * @classdesc Represents an AuthorizationCode. + * @implements IAuthorizationCode + * @constructor + * @param {google.cloud.domains.v1.IAuthorizationCode=} [properties] Properties to set + */ + function AuthorizationCode(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]]; + } + + /** + * AuthorizationCode code. + * @member {string} code + * @memberof google.cloud.domains.v1.AuthorizationCode + * @instance + */ + AuthorizationCode.prototype.code = ""; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1.IAuthorizationCode=} [properties] Properties to set + * @returns {google.cloud.domains.v1.AuthorizationCode} AuthorizationCode instance + */ + AuthorizationCode.create = function create(properties) { + return new AuthorizationCode(properties); + }; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1.AuthorizationCode.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.code); + return writer; + }; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1.AuthorizationCode.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.AuthorizationCode(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthorizationCode message. + * @function verify + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthorizationCode.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isString(message.code)) + return "code: string expected"; + return null; + }; + + /** + * Creates an AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.AuthorizationCode} AuthorizationCode + */ + AuthorizationCode.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.AuthorizationCode) + return object; + var message = new $root.google.cloud.domains.v1.AuthorizationCode(); + if (object.code != null) + message.code = String(object.code); + return message; + }; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1.AuthorizationCode} message AuthorizationCode + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthorizationCode.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.code = ""; + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + return object; + }; + + /** + * Converts this AuthorizationCode to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.AuthorizationCode + * @instance + * @returns {Object.} JSON object + */ + AuthorizationCode.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthorizationCode + * @function getTypeUrl + * @memberof google.cloud.domains.v1.AuthorizationCode + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthorizationCode.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.AuthorizationCode"; + }; + + return AuthorizationCode; + })(); + + v1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.domains.v1 + * @interface IOperationMetadata + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime + * @property {string|null} [target] OperationMetadata target + * @property {string|null} [verb] OperationMetadata verb + * @property {string|null} [statusDetail] OperationMetadata statusDetail + * @property {string|null} [apiVersion] OperationMetadata apiVersion + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.domains.v1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.domains.v1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.endTime = null; + + /** + * OperationMetadata target. + * @member {string} target + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.target = ""; + + /** + * OperationMetadata verb. + * @member {string} verb + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.verb = ""; + + /** + * OperationMetadata statusDetail. + * @member {string} statusDetail + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.statusDetail = ""; + + /** + * OperationMetadata apiVersion. + * @member {string} apiVersion + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.apiVersion = ""; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {google.cloud.domains.v1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.domains.v1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.v1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {google.cloud.domains.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.target != null && Object.hasOwnProperty.call(message, "target")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.target); + if (message.verb != null && Object.hasOwnProperty.call(message, "verb")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb); + if (message.statusDetail != null && Object.hasOwnProperty.call(message, "statusDetail")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusDetail); + if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.apiVersion); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.v1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {google.cloud.domains.v1.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.target = reader.string(); + break; + } + case 4: { + message.verb = reader.string(); + break; + } + case 5: { + message.statusDetail = reader.string(); + break; + } + case 6: { + message.apiVersion = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.target != null && message.hasOwnProperty("target")) + if (!$util.isString(message.target)) + return "target: string expected"; + if (message.verb != null && message.hasOwnProperty("verb")) + if (!$util.isString(message.verb)) + return "verb: string expected"; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + if (!$util.isString(message.statusDetail)) + return "statusDetail: string expected"; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + if (!$util.isString(message.apiVersion)) + return "apiVersion: string expected"; + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1.OperationMetadata) + return object; + var message = new $root.google.cloud.domains.v1.OperationMetadata(); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.domains.v1.OperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + if (object.target != null) + message.target = String(object.target); + if (object.verb != null) + message.verb = String(object.verb); + if (object.statusDetail != null) + message.statusDetail = String(object.statusDetail); + if (object.apiVersion != null) + message.apiVersion = String(object.apiVersion); + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {google.cloud.domains.v1.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.createTime = null; + object.endTime = null; + object.target = ""; + object.verb = ""; + object.statusDetail = ""; + object.apiVersion = ""; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + if (message.target != null && message.hasOwnProperty("target")) + object.target = message.target; + if (message.verb != null && message.hasOwnProperty("verb")) + object.verb = message.verb; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + object.statusDetail = message.statusDetail; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + object.apiVersion = message.apiVersion; + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.domains.v1.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1.OperationMetadata"; + }; + + return OperationMetadata; + })(); + + /** + * ContactPrivacy enum. + * @name google.cloud.domains.v1.ContactPrivacy + * @enum {number} + * @property {number} CONTACT_PRIVACY_UNSPECIFIED=0 CONTACT_PRIVACY_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA=1 PUBLIC_CONTACT_DATA value + * @property {number} PRIVATE_CONTACT_DATA=2 PRIVATE_CONTACT_DATA value + * @property {number} REDACTED_CONTACT_DATA=3 REDACTED_CONTACT_DATA value + */ + v1.ContactPrivacy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_PRIVACY_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA"] = 1; + values[valuesById[2] = "PRIVATE_CONTACT_DATA"] = 2; + values[valuesById[3] = "REDACTED_CONTACT_DATA"] = 3; + return values; + })(); + + /** + * DomainNotice enum. + * @name google.cloud.domains.v1.DomainNotice + * @enum {number} + * @property {number} DOMAIN_NOTICE_UNSPECIFIED=0 DOMAIN_NOTICE_UNSPECIFIED value + * @property {number} HSTS_PRELOADED=1 HSTS_PRELOADED value + */ + v1.DomainNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DOMAIN_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "HSTS_PRELOADED"] = 1; + return values; + })(); + + /** + * ContactNotice enum. + * @name google.cloud.domains.v1.ContactNotice + * @enum {number} + * @property {number} CONTACT_NOTICE_UNSPECIFIED=0 CONTACT_NOTICE_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT=1 PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT value + */ + v1.ContactNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT"] = 1; + return values; + })(); + + /** + * TransferLockState enum. + * @name google.cloud.domains.v1.TransferLockState + * @enum {number} + * @property {number} TRANSFER_LOCK_STATE_UNSPECIFIED=0 TRANSFER_LOCK_STATE_UNSPECIFIED value + * @property {number} UNLOCKED=1 UNLOCKED value + * @property {number} LOCKED=2 LOCKED value + */ + v1.TransferLockState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TRANSFER_LOCK_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "UNLOCKED"] = 1; + values[valuesById[2] = "LOCKED"] = 2; + return values; + })(); + + return v1; + })(); + + domains.v1alpha2 = (function() { + + /** + * Namespace v1alpha2. + * @memberof google.cloud.domains + * @namespace + */ + var v1alpha2 = {}; + + v1alpha2.Domains = (function() { + + /** + * Constructs a new Domains service. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a Domains + * @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 Domains(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Domains.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Domains; + + /** + * Creates new Domains service using the specified rpc implementation. + * @function create + * @memberof google.cloud.domains.v1alpha2.Domains + * @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 {Domains} RPC service. Useful where requests and/or responses are streamed. + */ + Domains.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|searchDomains}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef SearchDomainsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.SearchDomainsResponse} [response] SearchDomainsResponse + */ + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.SearchDomainsCallback} callback Node-style callback called with the error, if any, and SearchDomainsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.searchDomains = function searchDomains(request, callback) { + return this.rpcCall(searchDomains, $root.google.cloud.domains.v1alpha2.SearchDomainsRequest, $root.google.cloud.domains.v1alpha2.SearchDomainsResponse, request, callback); + }, "name", { value: "SearchDomains" }); + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveRegisterParameters}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef RetrieveRegisterParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} [response] RetrieveRegisterParametersResponse + */ + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.RetrieveRegisterParametersCallback} callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveRegisterParameters = function retrieveRegisterParameters(request, callback) { + return this.rpcCall(retrieveRegisterParameters, $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest, $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse, request, callback); + }, "name", { value: "RetrieveRegisterParameters" }); + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|registerDomain}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef RegisterDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.RegisterDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.registerDomain = function registerDomain(request, callback) { + return this.rpcCall(registerDomain, $root.google.cloud.domains.v1alpha2.RegisterDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "RegisterDomain" }); + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveTransferParameters}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef RetrieveTransferParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} [response] RetrieveTransferParametersResponse + */ + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.RetrieveTransferParametersCallback} callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveTransferParameters = function retrieveTransferParameters(request, callback) { + return this.rpcCall(retrieveTransferParameters, $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest, $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse, request, callback); + }, "name", { value: "RetrieveTransferParameters" }); + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|transferDomain}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef TransferDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.TransferDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.transferDomain = function transferDomain(request, callback) { + return this.rpcCall(transferDomain, $root.google.cloud.domains.v1alpha2.TransferDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "TransferDomain" }); + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|listRegistrations}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ListRegistrationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.ListRegistrationsResponse} [response] ListRegistrationsResponse + */ + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ListRegistrationsCallback} callback Node-style callback called with the error, if any, and ListRegistrationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.listRegistrations = function listRegistrations(request, callback) { + return this.rpcCall(listRegistrations, $root.google.cloud.domains.v1alpha2.ListRegistrationsRequest, $root.google.cloud.domains.v1alpha2.ListRegistrationsResponse, request, callback); + }, "name", { value: "ListRegistrations" }); + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|getRegistration}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef GetRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.Registration} [response] Registration + */ + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.GetRegistrationCallback} callback Node-style callback called with the error, if any, and Registration + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.getRegistration = function getRegistration(request, callback) { + return this.rpcCall(getRegistration, $root.google.cloud.domains.v1alpha2.GetRegistrationRequest, $root.google.cloud.domains.v1alpha2.Registration, request, callback); + }, "name", { value: "GetRegistration" }); + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|updateRegistration}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef UpdateRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.UpdateRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.updateRegistration = function updateRegistration(request, callback) { + return this.rpcCall(updateRegistration, $root.google.cloud.domains.v1alpha2.UpdateRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "UpdateRegistration" }); + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureManagementSettings}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ConfigureManagementSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ConfigureManagementSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureManagementSettings = function configureManagementSettings(request, callback) { + return this.rpcCall(configureManagementSettings, $root.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureManagementSettings" }); + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureDnsSettings}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ConfigureDnsSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ConfigureDnsSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureDnsSettings = function configureDnsSettings(request, callback) { + return this.rpcCall(configureDnsSettings, $root.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureDnsSettings" }); + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|configureContactSettings}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ConfigureContactSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ConfigureContactSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureContactSettings = function configureContactSettings(request, callback) { + return this.rpcCall(configureContactSettings, $root.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureContactSettings" }); + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|exportRegistration}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ExportRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ExportRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.exportRegistration = function exportRegistration(request, callback) { + return this.rpcCall(exportRegistration, $root.google.cloud.domains.v1alpha2.ExportRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ExportRegistration" }); + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|deleteRegistration}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef DeleteRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.DeleteRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.deleteRegistration = function deleteRegistration(request, callback) { + return this.rpcCall(deleteRegistration, $root.google.cloud.domains.v1alpha2.DeleteRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DeleteRegistration" }); + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|retrieveAuthorizationCode}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef RetrieveAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.RetrieveAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveAuthorizationCode = function retrieveAuthorizationCode(request, callback) { + return this.rpcCall(retrieveAuthorizationCode, $root.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest, $root.google.cloud.domains.v1alpha2.AuthorizationCode, request, callback); + }, "name", { value: "RetrieveAuthorizationCode" }); + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1alpha2.Domains|resetAuthorizationCode}. + * @memberof google.cloud.domains.v1alpha2.Domains + * @typedef ResetAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1alpha2.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1alpha2.Domains.ResetAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.resetAuthorizationCode = function resetAuthorizationCode(request, callback) { + return this.rpcCall(resetAuthorizationCode, $root.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest, $root.google.cloud.domains.v1alpha2.AuthorizationCode, request, callback); + }, "name", { value: "ResetAuthorizationCode" }); + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1alpha2.Domains + * @instance + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Domains; + })(); + + v1alpha2.Registration = (function() { + + /** + * Properties of a Registration. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRegistration + * @property {string|null} [name] Registration name + * @property {string|null} [domainName] Registration domainName + * @property {google.protobuf.ITimestamp|null} [createTime] Registration createTime + * @property {google.protobuf.ITimestamp|null} [expireTime] Registration expireTime + * @property {google.cloud.domains.v1alpha2.Registration.State|null} [state] Registration state + * @property {Array.|null} [issues] Registration issues + * @property {Object.|null} [labels] Registration labels + * @property {google.cloud.domains.v1alpha2.IManagementSettings|null} [managementSettings] Registration managementSettings + * @property {google.cloud.domains.v1alpha2.IDnsSettings|null} [dnsSettings] Registration dnsSettings + * @property {google.cloud.domains.v1alpha2.IContactSettings|null} [contactSettings] Registration contactSettings + * @property {google.cloud.domains.v1alpha2.IContactSettings|null} [pendingContactSettings] Registration pendingContactSettings + * @property {Array.|null} [supportedPrivacy] Registration supportedPrivacy + */ + + /** + * Constructs a new Registration. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a Registration. + * @implements IRegistration + * @constructor + * @param {google.cloud.domains.v1alpha2.IRegistration=} [properties] Properties to set + */ + function Registration(properties) { + this.issues = []; + this.labels = {}; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Registration name. + * @member {string} name + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.name = ""; + + /** + * Registration domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.domainName = ""; + + /** + * Registration createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.createTime = null; + + /** + * Registration expireTime. + * @member {google.protobuf.ITimestamp|null|undefined} expireTime + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.expireTime = null; + + /** + * Registration state. + * @member {google.cloud.domains.v1alpha2.Registration.State} state + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.state = 0; + + /** + * Registration issues. + * @member {Array.} issues + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.issues = $util.emptyArray; + + /** + * Registration labels. + * @member {Object.} labels + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.labels = $util.emptyObject; + + /** + * Registration managementSettings. + * @member {google.cloud.domains.v1alpha2.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.managementSettings = null; + + /** + * Registration dnsSettings. + * @member {google.cloud.domains.v1alpha2.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.dnsSettings = null; + + /** + * Registration contactSettings. + * @member {google.cloud.domains.v1alpha2.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.contactSettings = null; + + /** + * Registration pendingContactSettings. + * @member {google.cloud.domains.v1alpha2.IContactSettings|null|undefined} pendingContactSettings + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.pendingContactSettings = null; + + /** + * Registration supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + */ + Registration.prototype.supportedPrivacy = $util.emptyArray; + + /** + * Creates a new Registration instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {google.cloud.domains.v1alpha2.IRegistration=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.Registration} Registration instance + */ + Registration.create = function create(properties) { + return new Registration(properties); + }; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1alpha2.Registration.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {google.cloud.domains.v1alpha2.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.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.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.domainName); + if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) + $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.state); + if (message.issues != null && message.issues.length) { + writer.uint32(/* id 8, wireType 2 =*/66).fork(); + for (var i = 0; i < message.issues.length; ++i) + writer.int32(message.issues[i]); + writer.ldelim(); + } + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i) + writer.uint32(/* id 9, wireType 2 =*/74).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1alpha2.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1alpha2.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1alpha2.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.pendingContactSettings != null && Object.hasOwnProperty.call(message, "pendingContactSettings")) + $root.google.cloud.domains.v1alpha2.ContactSettings.encode(message.pendingContactSettings, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 14, wireType 2 =*/114).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.Registration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {google.cloud.domains.v1alpha2.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.Registration(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.domainName = reader.string(); + break; + } + case 3: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 7: { + message.state = reader.int32(); + break; + } + case 8: { + if (!(message.issues && message.issues.length)) + message.issues = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.issues.push(reader.int32()); + } else + message.issues.push(reader.int32()); + break; + } + case 9: { + if (message.labels === $util.emptyObject) + message.labels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.labels[key] = value; + break; + } + case 10: { + message.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 11: { + message.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 12: { + message.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 13: { + message.pendingContactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 14: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Registration message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Registration.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.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.expireTime != null && message.hasOwnProperty("expireTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + if (error) + return "expireTime." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 8: + break; + } + if (message.issues != null && message.hasOwnProperty("issues")) { + if (!Array.isArray(message.issues)) + return "issues: array expected"; + for (var i = 0; i < message.issues.length; ++i) + switch (message.issues[i]) { + default: + return "issues: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!$util.isObject(message.labels)) + return "labels: object expected"; + var key = Object.keys(message.labels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.labels[key[i]])) + return "labels: string{k:string} expected"; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1alpha2.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.verify(message.pendingContactSettings); + if (error) + return "pendingContactSettings." + error; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + return null; + }; + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.Registration} Registration + */ + Registration.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.Registration) + return object; + var message = new $root.google.cloud.domains.v1alpha2.Registration(); + if (object.name != null) + message.name = String(object.name); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.expireTime != null) { + if (typeof object.expireTime !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.expireTime: object expected"); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + } + 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 "REGISTRATION_PENDING": + case 1: + message.state = 1; + break; + case "REGISTRATION_FAILED": + case 2: + message.state = 2; + break; + case "TRANSFER_PENDING": + case 3: + message.state = 3; + break; + case "TRANSFER_FAILED": + case 4: + message.state = 4; + break; + case "ACTIVE": + case 6: + message.state = 6; + break; + case "SUSPENDED": + case 7: + message.state = 7; + break; + case "EXPORTED": + case 8: + message.state = 8; + break; + } + if (object.issues) { + if (!Array.isArray(object.issues)) + throw TypeError(".google.cloud.domains.v1alpha2.Registration.issues: array expected"); + message.issues = []; + for (var i = 0; i < object.issues.length; ++i) + switch (object.issues[i]) { + default: + if (typeof object.issues[i] === "number") { + message.issues[i] = object.issues[i]; + break; + } + case "ISSUE_UNSPECIFIED": + case 0: + message.issues[i] = 0; + break; + case "CONTACT_SUPPORT": + case 1: + message.issues[i] = 1; + break; + case "UNVERIFIED_EMAIL": + case 2: + message.issues[i] = 2; + break; + } + } + if (object.labels) { + if (typeof object.labels !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.labels: object expected"); + message.labels = {}; + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + message.labels[keys[i]] = String(object.labels[keys[i]]); + } + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.fromObject(object.managementSettings); + } + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.fromObject(object.dnsSettings); + } + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.fromObject(object.contactSettings); + } + if (object.pendingContactSettings != null) { + if (typeof object.pendingContactSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.Registration.pendingContactSettings: object expected"); + message.pendingContactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.fromObject(object.pendingContactSettings); + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1alpha2.Registration.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {google.cloud.domains.v1alpha2.Registration} message Registration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Registration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.issues = []; + object.supportedPrivacy = []; + } + if (options.objects || options.defaults) + object.labels = {}; + if (options.defaults) { + object.name = ""; + object.domainName = ""; + object.createTime = null; + object.expireTime = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.managementSettings = null; + object.dnsSettings = null; + object.contactSettings = null; + object.pendingContactSettings = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.domains.v1alpha2.Registration.State[message.state] === undefined ? message.state : $root.google.cloud.domains.v1alpha2.Registration.State[message.state] : message.state; + if (message.issues && message.issues.length) { + object.issues = []; + for (var j = 0; j < message.issues.length; ++j) + object.issues[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.Registration.Issue[message.issues[j]] === undefined ? message.issues[j] : $root.google.cloud.domains.v1alpha2.Registration.Issue[message.issues[j]] : message.issues[j]; + } + var keys2; + if (message.labels && (keys2 = Object.keys(message.labels)).length) { + object.labels = {}; + for (var j = 0; j < keys2.length; ++j) + object.labels[keys2[j]] = message.labels[keys2[j]]; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.toObject(message.managementSettings, options); + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.toObject(message.dnsSettings, options); + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.toObject(message.contactSettings, options); + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) + object.pendingContactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.toObject(message.pendingContactSettings, options); + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + return object; + }; + + /** + * Converts this Registration to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.Registration + * @instance + * @returns {Object.} JSON object + */ + Registration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Registration + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.Registration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Registration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.Registration"; + }; + + /** + * State enum. + * @name google.cloud.domains.v1alpha2.Registration.State + * @enum {number} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} REGISTRATION_PENDING=1 REGISTRATION_PENDING value + * @property {number} REGISTRATION_FAILED=2 REGISTRATION_FAILED value + * @property {number} TRANSFER_PENDING=3 TRANSFER_PENDING value + * @property {number} TRANSFER_FAILED=4 TRANSFER_FAILED value + * @property {number} ACTIVE=6 ACTIVE value + * @property {number} SUSPENDED=7 SUSPENDED value + * @property {number} EXPORTED=8 EXPORTED value + */ + Registration.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "REGISTRATION_PENDING"] = 1; + values[valuesById[2] = "REGISTRATION_FAILED"] = 2; + values[valuesById[3] = "TRANSFER_PENDING"] = 3; + values[valuesById[4] = "TRANSFER_FAILED"] = 4; + values[valuesById[6] = "ACTIVE"] = 6; + values[valuesById[7] = "SUSPENDED"] = 7; + values[valuesById[8] = "EXPORTED"] = 8; + return values; + })(); + + /** + * Issue enum. + * @name google.cloud.domains.v1alpha2.Registration.Issue + * @enum {number} + * @property {number} ISSUE_UNSPECIFIED=0 ISSUE_UNSPECIFIED value + * @property {number} CONTACT_SUPPORT=1 CONTACT_SUPPORT value + * @property {number} UNVERIFIED_EMAIL=2 UNVERIFIED_EMAIL value + */ + Registration.Issue = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ISSUE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CONTACT_SUPPORT"] = 1; + values[valuesById[2] = "UNVERIFIED_EMAIL"] = 2; + return values; + })(); + + return Registration; + })(); + + v1alpha2.ManagementSettings = (function() { + + /** + * Properties of a ManagementSettings. + * @memberof google.cloud.domains.v1alpha2 + * @interface IManagementSettings + * @property {google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod|null} [renewalMethod] ManagementSettings renewalMethod + * @property {google.cloud.domains.v1alpha2.TransferLockState|null} [transferLockState] ManagementSettings transferLockState + */ + + /** + * Constructs a new ManagementSettings. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ManagementSettings. + * @implements IManagementSettings + * @constructor + * @param {google.cloud.domains.v1alpha2.IManagementSettings=} [properties] Properties to set + */ + function ManagementSettings(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]]; + } + + /** + * ManagementSettings renewalMethod. + * @member {google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod} renewalMethod + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @instance + */ + ManagementSettings.prototype.renewalMethod = 0; + + /** + * ManagementSettings transferLockState. + * @member {google.cloud.domains.v1alpha2.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @instance + */ + ManagementSettings.prototype.transferLockState = 0; + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {google.cloud.domains.v1alpha2.IManagementSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ManagementSettings} ManagementSettings instance + */ + ManagementSettings.create = function create(properties) { + return new ManagementSettings(properties); + }; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.ManagementSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {google.cloud.domains.v1alpha2.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.renewalMethod != null && Object.hasOwnProperty.call(message, "renewalMethod")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.renewalMethod); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + return writer; + }; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ManagementSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {google.cloud.domains.v1alpha2.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ManagementSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + message.renewalMethod = reader.int32(); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ManagementSettings message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ManagementSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + switch (message.renewalMethod) { + default: + return "renewalMethod: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ManagementSettings} ManagementSettings + */ + ManagementSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ManagementSettings) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ManagementSettings(); + switch (object.renewalMethod) { + default: + if (typeof object.renewalMethod === "number") { + message.renewalMethod = object.renewalMethod; + break; + } + break; + case "RENEWAL_METHOD_UNSPECIFIED": + case 0: + message.renewalMethod = 0; + break; + case "AUTOMATIC_RENEWAL": + case 1: + message.renewalMethod = 1; + break; + case "MANUAL_RENEWAL": + case 2: + message.renewalMethod = 2; + break; + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {google.cloud.domains.v1alpha2.ManagementSettings} message ManagementSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ManagementSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.renewalMethod = options.enums === String ? "RENEWAL_METHOD_UNSPECIFIED" : 0; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + } + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + object.renewalMethod = options.enums === String ? $root.google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod[message.renewalMethod] === undefined ? message.renewalMethod : $root.google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod[message.renewalMethod] : message.renewalMethod; + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1alpha2.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1alpha2.TransferLockState[message.transferLockState] : message.transferLockState; + return object; + }; + + /** + * Converts this ManagementSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @instance + * @returns {Object.} JSON object + */ + ManagementSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ManagementSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ManagementSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ManagementSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ManagementSettings"; + }; + + /** + * RenewalMethod enum. + * @name google.cloud.domains.v1alpha2.ManagementSettings.RenewalMethod + * @enum {number} + * @property {number} RENEWAL_METHOD_UNSPECIFIED=0 RENEWAL_METHOD_UNSPECIFIED value + * @property {number} AUTOMATIC_RENEWAL=1 AUTOMATIC_RENEWAL value + * @property {number} MANUAL_RENEWAL=2 MANUAL_RENEWAL value + */ + ManagementSettings.RenewalMethod = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "RENEWAL_METHOD_UNSPECIFIED"] = 0; + values[valuesById[1] = "AUTOMATIC_RENEWAL"] = 1; + values[valuesById[2] = "MANUAL_RENEWAL"] = 2; + return values; + })(); + + return ManagementSettings; + })(); + + v1alpha2.DnsSettings = (function() { + + /** + * Properties of a DnsSettings. + * @memberof google.cloud.domains.v1alpha2 + * @interface IDnsSettings + * @property {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns|null} [customDns] DnsSettings customDns + * @property {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns|null} [googleDomainsDns] DnsSettings googleDomainsDns + * @property {Array.|null} [glueRecords] DnsSettings glueRecords + */ + + /** + * Constructs a new DnsSettings. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a DnsSettings. + * @implements IDnsSettings + * @constructor + * @param {google.cloud.domains.v1alpha2.IDnsSettings=} [properties] Properties to set + */ + function DnsSettings(properties) { + this.glueRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DnsSettings customDns. + * @member {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns|null|undefined} customDns + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @instance + */ + DnsSettings.prototype.customDns = null; + + /** + * DnsSettings googleDomainsDns. + * @member {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns|null|undefined} googleDomainsDns + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @instance + */ + DnsSettings.prototype.googleDomainsDns = null; + + /** + * DnsSettings glueRecords. + * @member {Array.} glueRecords + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @instance + */ + DnsSettings.prototype.glueRecords = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DnsSettings dnsProvider. + * @member {"customDns"|"googleDomainsDns"|undefined} dnsProvider + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @instance + */ + Object.defineProperty(DnsSettings.prototype, "dnsProvider", { + get: $util.oneOfGetter($oneOfFields = ["customDns", "googleDomainsDns"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {google.cloud.domains.v1alpha2.IDnsSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DnsSettings} DnsSettings instance + */ + DnsSettings.create = function create(properties) { + return new DnsSettings(properties); + }; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {google.cloud.domains.v1alpha2.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.customDns != null && Object.hasOwnProperty.call(message, "customDns")) + $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns.encode(message.customDns, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.googleDomainsDns != null && Object.hasOwnProperty.call(message, "googleDomainsDns")) + $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.encode(message.googleDomainsDns, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.glueRecords != null && message.glueRecords.length) + for (var i = 0; i < message.glueRecords.length; ++i) + $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.encode(message.glueRecords[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {google.cloud.domains.v1alpha2.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DnsSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.customDns = $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns.decode(reader, reader.uint32()); + break; + } + case 2: { + message.googleDomainsDns = $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.glueRecords && message.glueRecords.length)) + message.glueRecords = []; + message.glueRecords.push($root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DnsSettings message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DnsSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns.verify(message.customDns); + if (error) + return "customDns." + error; + } + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + if (properties.dnsProvider === 1) + return "dnsProvider: multiple values"; + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.verify(message.googleDomainsDns); + if (error) + return "googleDomainsDns." + error; + } + } + if (message.glueRecords != null && message.hasOwnProperty("glueRecords")) { + if (!Array.isArray(message.glueRecords)) + return "glueRecords: array expected"; + for (var i = 0; i < message.glueRecords.length; ++i) { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.verify(message.glueRecords[i]); + if (error) + return "glueRecords." + error; + } + } + return null; + }; + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DnsSettings} DnsSettings + */ + DnsSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DnsSettings) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DnsSettings(); + if (object.customDns != null) { + if (typeof object.customDns !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.customDns: object expected"); + message.customDns = $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns.fromObject(object.customDns); + } + if (object.googleDomainsDns != null) { + if (typeof object.googleDomainsDns !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.googleDomainsDns: object expected"); + message.googleDomainsDns = $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.fromObject(object.googleDomainsDns); + } + if (object.glueRecords) { + if (!Array.isArray(object.glueRecords)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.glueRecords: array expected"); + message.glueRecords = []; + for (var i = 0; i < object.glueRecords.length; ++i) { + if (typeof object.glueRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.glueRecords: object expected"); + message.glueRecords[i] = $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.fromObject(object.glueRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings} message DnsSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DnsSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.glueRecords = []; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + object.customDns = $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns.toObject(message.customDns, options); + if (options.oneofs) + object.dnsProvider = "customDns"; + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + object.googleDomainsDns = $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.toObject(message.googleDomainsDns, options); + if (options.oneofs) + object.dnsProvider = "googleDomainsDns"; + } + if (message.glueRecords && message.glueRecords.length) { + object.glueRecords = []; + for (var j = 0; j < message.glueRecords.length; ++j) + object.glueRecords[j] = $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.toObject(message.glueRecords[j], options); + } + return object; + }; + + /** + * Converts this DnsSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @instance + * @returns {Object.} JSON object + */ + DnsSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DnsSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DnsSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DnsSettings"; + }; + + DnsSettings.CustomDns = (function() { + + /** + * Properties of a CustomDns. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @interface ICustomDns + * @property {Array.|null} [nameServers] CustomDns nameServers + * @property {Array.|null} [dsRecords] CustomDns dsRecords + */ + + /** + * Constructs a new CustomDns. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @classdesc Represents a CustomDns. + * @implements ICustomDns + * @constructor + * @param {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns=} [properties] Properties to set + */ + function CustomDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.nameServers = $util.emptyArray; + + /** + * CustomDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new CustomDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DnsSettings.CustomDns} CustomDns instance + */ + CustomDns.create = function create(properties) { + return new CustomDns(properties); + }; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.CustomDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.CustomDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomDns message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DnsSettings.CustomDns} CustomDns + */ + CustomDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DnsSettings.CustomDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.CustomDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.CustomDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.CustomDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.CustomDns} message CustomDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this CustomDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @instance + * @returns {Object.} JSON object + */ + CustomDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DnsSettings.CustomDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DnsSettings.CustomDns"; + }; + + return CustomDns; + })(); + + DnsSettings.GoogleDomainsDns = (function() { + + /** + * Properties of a GoogleDomainsDns. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @interface IGoogleDomainsDns + * @property {Array.|null} [nameServers] GoogleDomainsDns nameServers + * @property {google.cloud.domains.v1alpha2.DnsSettings.DsState|null} [dsState] GoogleDomainsDns dsState + * @property {Array.|null} [dsRecords] GoogleDomainsDns dsRecords + */ + + /** + * Constructs a new GoogleDomainsDns. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @classdesc Represents a GoogleDomainsDns. + * @implements IGoogleDomainsDns + * @constructor + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + */ + function GoogleDomainsDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GoogleDomainsDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.nameServers = $util.emptyArray; + + /** + * GoogleDomainsDns dsState. + * @member {google.cloud.domains.v1alpha2.DnsSettings.DsState} dsState + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsState = 0; + + /** + * GoogleDomainsDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns} GoogleDomainsDns instance + */ + GoogleDomainsDns.create = function create(properties) { + return new GoogleDomainsDns(properties); + }; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsState != null && Object.hasOwnProperty.call(message, "dsState")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.dsState); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + message.dsState = reader.int32(); + break; + } + case 3: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GoogleDomainsDns message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GoogleDomainsDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + switch (message.dsState) { + default: + return "dsState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + */ + GoogleDomainsDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.dsState) { + default: + if (typeof object.dsState === "number") { + message.dsState = object.dsState; + break; + } + break; + case "DS_STATE_UNSPECIFIED": + case 0: + message.dsState = 0; + break; + case "DS_RECORDS_UNPUBLISHED": + case 1: + message.dsState = 1; + break; + case "DS_RECORDS_PUBLISHED": + case 2: + message.dsState = 2; + break; + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns} message GoogleDomainsDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GoogleDomainsDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (options.defaults) + object.dsState = options.enums === String ? "DS_STATE_UNSPECIFIED" : 0; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + object.dsState = options.enums === String ? $root.google.cloud.domains.v1alpha2.DnsSettings.DsState[message.dsState] === undefined ? message.dsState : $root.google.cloud.domains.v1alpha2.DnsSettings.DsState[message.dsState] : message.dsState; + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @instance + * @returns {Object.} JSON object + */ + GoogleDomainsDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GoogleDomainsDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GoogleDomainsDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DnsSettings.GoogleDomainsDns"; + }; + + return GoogleDomainsDns; + })(); + + DnsSettings.DsRecord = (function() { + + /** + * Properties of a DsRecord. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @interface IDsRecord + * @property {number|null} [keyTag] DsRecord keyTag + * @property {google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm|null} [algorithm] DsRecord algorithm + * @property {google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType|null} [digestType] DsRecord digestType + * @property {string|null} [digest] DsRecord digest + */ + + /** + * Constructs a new DsRecord. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @classdesc Represents a DsRecord. + * @implements IDsRecord + * @constructor + * @param {google.cloud.domains.v1alpha2.DnsSettings.IDsRecord=} [properties] Properties to set + */ + function DsRecord(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]]; + } + + /** + * DsRecord keyTag. + * @member {number} keyTag + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.keyTag = 0; + + /** + * DsRecord algorithm. + * @member {google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm} algorithm + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.algorithm = 0; + + /** + * DsRecord digestType. + * @member {google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType} digestType + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digestType = 0; + + /** + * DsRecord digest. + * @member {string} digest + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digest = ""; + + /** + * Creates a new DsRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IDsRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DnsSettings.DsRecord} DsRecord instance + */ + DsRecord.create = function create(properties) { + return new DsRecord(properties); + }; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keyTag != null && Object.hasOwnProperty.call(message, "keyTag")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.keyTag); + if (message.algorithm != null && Object.hasOwnProperty.call(message, "algorithm")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.algorithm); + if (message.digestType != null && Object.hasOwnProperty.call(message, "digestType")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.digestType); + if (message.digest != null && Object.hasOwnProperty.call(message, "digest")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.digest); + return writer; + }; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.DsRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.keyTag = reader.int32(); + break; + } + case 2: { + message.algorithm = reader.int32(); + break; + } + case 3: { + message.digestType = reader.int32(); + break; + } + case 4: { + message.digest = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DsRecord message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DsRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + if (!$util.isInteger(message.keyTag)) + return "keyTag: integer expected"; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + switch (message.algorithm) { + default: + return "algorithm: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 10: + case 12: + case 13: + case 14: + case 15: + case 16: + case 252: + case 253: + case 254: + break; + } + if (message.digestType != null && message.hasOwnProperty("digestType")) + switch (message.digestType) { + default: + return "digestType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.digest != null && message.hasOwnProperty("digest")) + if (!$util.isString(message.digest)) + return "digest: string expected"; + return null; + }; + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DnsSettings.DsRecord} DsRecord + */ + DsRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord(); + if (object.keyTag != null) + message.keyTag = object.keyTag | 0; + switch (object.algorithm) { + default: + if (typeof object.algorithm === "number") { + message.algorithm = object.algorithm; + break; + } + break; + case "ALGORITHM_UNSPECIFIED": + case 0: + message.algorithm = 0; + break; + case "RSAMD5": + case 1: + message.algorithm = 1; + break; + case "DH": + case 2: + message.algorithm = 2; + break; + case "DSA": + case 3: + message.algorithm = 3; + break; + case "ECC": + case 4: + message.algorithm = 4; + break; + case "RSASHA1": + case 5: + message.algorithm = 5; + break; + case "DSANSEC3SHA1": + case 6: + message.algorithm = 6; + break; + case "RSASHA1NSEC3SHA1": + case 7: + message.algorithm = 7; + break; + case "RSASHA256": + case 8: + message.algorithm = 8; + break; + case "RSASHA512": + case 10: + message.algorithm = 10; + break; + case "ECCGOST": + case 12: + message.algorithm = 12; + break; + case "ECDSAP256SHA256": + case 13: + message.algorithm = 13; + break; + case "ECDSAP384SHA384": + case 14: + message.algorithm = 14; + break; + case "ED25519": + case 15: + message.algorithm = 15; + break; + case "ED448": + case 16: + message.algorithm = 16; + break; + case "INDIRECT": + case 252: + message.algorithm = 252; + break; + case "PRIVATEDNS": + case 253: + message.algorithm = 253; + break; + case "PRIVATEOID": + case 254: + message.algorithm = 254; + break; + } + switch (object.digestType) { + default: + if (typeof object.digestType === "number") { + message.digestType = object.digestType; + break; + } + break; + case "DIGEST_TYPE_UNSPECIFIED": + case 0: + message.digestType = 0; + break; + case "SHA1": + case 1: + message.digestType = 1; + break; + case "SHA256": + case 2: + message.digestType = 2; + break; + case "GOST3411": + case 3: + message.digestType = 3; + break; + case "SHA384": + case 4: + message.digestType = 4; + break; + } + if (object.digest != null) + message.digest = String(object.digest); + return message; + }; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.DsRecord} message DsRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DsRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.keyTag = 0; + object.algorithm = options.enums === String ? "ALGORITHM_UNSPECIFIED" : 0; + object.digestType = options.enums === String ? "DIGEST_TYPE_UNSPECIFIED" : 0; + object.digest = ""; + } + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + object.keyTag = message.keyTag; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + object.algorithm = options.enums === String ? $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm[message.algorithm] === undefined ? message.algorithm : $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm[message.algorithm] : message.algorithm; + if (message.digestType != null && message.hasOwnProperty("digestType")) + object.digestType = options.enums === String ? $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType[message.digestType] === undefined ? message.digestType : $root.google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType[message.digestType] : message.digestType; + if (message.digest != null && message.hasOwnProperty("digest")) + object.digest = message.digest; + return object; + }; + + /** + * Converts this DsRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @instance + * @returns {Object.} JSON object + */ + DsRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DsRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DnsSettings.DsRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DsRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DnsSettings.DsRecord"; + }; + + /** + * Algorithm enum. + * @name google.cloud.domains.v1alpha2.DnsSettings.DsRecord.Algorithm + * @enum {number} + * @property {number} ALGORITHM_UNSPECIFIED=0 ALGORITHM_UNSPECIFIED value + * @property {number} RSAMD5=1 RSAMD5 value + * @property {number} DH=2 DH value + * @property {number} DSA=3 DSA value + * @property {number} ECC=4 ECC value + * @property {number} RSASHA1=5 RSASHA1 value + * @property {number} DSANSEC3SHA1=6 DSANSEC3SHA1 value + * @property {number} RSASHA1NSEC3SHA1=7 RSASHA1NSEC3SHA1 value + * @property {number} RSASHA256=8 RSASHA256 value + * @property {number} RSASHA512=10 RSASHA512 value + * @property {number} ECCGOST=12 ECCGOST value + * @property {number} ECDSAP256SHA256=13 ECDSAP256SHA256 value + * @property {number} ECDSAP384SHA384=14 ECDSAP384SHA384 value + * @property {number} ED25519=15 ED25519 value + * @property {number} ED448=16 ED448 value + * @property {number} INDIRECT=252 INDIRECT value + * @property {number} PRIVATEDNS=253 PRIVATEDNS value + * @property {number} PRIVATEOID=254 PRIVATEOID value + */ + DsRecord.Algorithm = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ALGORITHM_UNSPECIFIED"] = 0; + values[valuesById[1] = "RSAMD5"] = 1; + values[valuesById[2] = "DH"] = 2; + values[valuesById[3] = "DSA"] = 3; + values[valuesById[4] = "ECC"] = 4; + values[valuesById[5] = "RSASHA1"] = 5; + values[valuesById[6] = "DSANSEC3SHA1"] = 6; + values[valuesById[7] = "RSASHA1NSEC3SHA1"] = 7; + values[valuesById[8] = "RSASHA256"] = 8; + values[valuesById[10] = "RSASHA512"] = 10; + values[valuesById[12] = "ECCGOST"] = 12; + values[valuesById[13] = "ECDSAP256SHA256"] = 13; + values[valuesById[14] = "ECDSAP384SHA384"] = 14; + values[valuesById[15] = "ED25519"] = 15; + values[valuesById[16] = "ED448"] = 16; + values[valuesById[252] = "INDIRECT"] = 252; + values[valuesById[253] = "PRIVATEDNS"] = 253; + values[valuesById[254] = "PRIVATEOID"] = 254; + return values; + })(); + + /** + * DigestType enum. + * @name google.cloud.domains.v1alpha2.DnsSettings.DsRecord.DigestType + * @enum {number} + * @property {number} DIGEST_TYPE_UNSPECIFIED=0 DIGEST_TYPE_UNSPECIFIED value + * @property {number} SHA1=1 SHA1 value + * @property {number} SHA256=2 SHA256 value + * @property {number} GOST3411=3 GOST3411 value + * @property {number} SHA384=4 SHA384 value + */ + DsRecord.DigestType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DIGEST_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHA1"] = 1; + values[valuesById[2] = "SHA256"] = 2; + values[valuesById[3] = "GOST3411"] = 3; + values[valuesById[4] = "SHA384"] = 4; + return values; + })(); + + return DsRecord; + })(); + + DnsSettings.GlueRecord = (function() { + + /** + * Properties of a GlueRecord. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @interface IGlueRecord + * @property {string|null} [hostName] GlueRecord hostName + * @property {Array.|null} [ipv4Addresses] GlueRecord ipv4Addresses + * @property {Array.|null} [ipv6Addresses] GlueRecord ipv6Addresses + */ + + /** + * Constructs a new GlueRecord. + * @memberof google.cloud.domains.v1alpha2.DnsSettings + * @classdesc Represents a GlueRecord. + * @implements IGlueRecord + * @constructor + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord=} [properties] Properties to set + */ + function GlueRecord(properties) { + this.ipv4Addresses = []; + this.ipv6Addresses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GlueRecord hostName. + * @member {string} hostName + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.hostName = ""; + + /** + * GlueRecord ipv4Addresses. + * @member {Array.} ipv4Addresses + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv4Addresses = $util.emptyArray; + + /** + * GlueRecord ipv6Addresses. + * @member {Array.} ipv6Addresses + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv6Addresses = $util.emptyArray; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GlueRecord} GlueRecord instance + */ + GlueRecord.create = function create(properties) { + return new GlueRecord(properties); + }; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hostName != null && Object.hasOwnProperty.call(message, "hostName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.hostName); + if (message.ipv4Addresses != null && message.ipv4Addresses.length) + for (var i = 0; i < message.ipv4Addresses.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ipv4Addresses[i]); + if (message.ipv6Addresses != null && message.ipv6Addresses.length) + for (var i = 0; i < message.ipv6Addresses.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.ipv6Addresses[i]); + return writer; + }; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.hostName = reader.string(); + break; + } + case 2: { + if (!(message.ipv4Addresses && message.ipv4Addresses.length)) + message.ipv4Addresses = []; + message.ipv4Addresses.push(reader.string()); + break; + } + case 3: { + if (!(message.ipv6Addresses && message.ipv6Addresses.length)) + message.ipv6Addresses = []; + message.ipv6Addresses.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GlueRecord message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GlueRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hostName != null && message.hasOwnProperty("hostName")) + if (!$util.isString(message.hostName)) + return "hostName: string expected"; + if (message.ipv4Addresses != null && message.hasOwnProperty("ipv4Addresses")) { + if (!Array.isArray(message.ipv4Addresses)) + return "ipv4Addresses: array expected"; + for (var i = 0; i < message.ipv4Addresses.length; ++i) + if (!$util.isString(message.ipv4Addresses[i])) + return "ipv4Addresses: string[] expected"; + } + if (message.ipv6Addresses != null && message.hasOwnProperty("ipv6Addresses")) { + if (!Array.isArray(message.ipv6Addresses)) + return "ipv6Addresses: array expected"; + for (var i = 0; i < message.ipv6Addresses.length; ++i) + if (!$util.isString(message.ipv6Addresses[i])) + return "ipv6Addresses: string[] expected"; + } + return null; + }; + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DnsSettings.GlueRecord} GlueRecord + */ + GlueRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DnsSettings.GlueRecord(); + if (object.hostName != null) + message.hostName = String(object.hostName); + if (object.ipv4Addresses) { + if (!Array.isArray(object.ipv4Addresses)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.ipv4Addresses: array expected"); + message.ipv4Addresses = []; + for (var i = 0; i < object.ipv4Addresses.length; ++i) + message.ipv4Addresses[i] = String(object.ipv4Addresses[i]); + } + if (object.ipv6Addresses) { + if (!Array.isArray(object.ipv6Addresses)) + throw TypeError(".google.cloud.domains.v1alpha2.DnsSettings.GlueRecord.ipv6Addresses: array expected"); + message.ipv6Addresses = []; + for (var i = 0; i < object.ipv6Addresses.length; ++i) + message.ipv6Addresses[i] = String(object.ipv6Addresses[i]); + } + return message; + }; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1alpha2.DnsSettings.GlueRecord} message GlueRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GlueRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.ipv4Addresses = []; + object.ipv6Addresses = []; + } + if (options.defaults) + object.hostName = ""; + if (message.hostName != null && message.hasOwnProperty("hostName")) + object.hostName = message.hostName; + if (message.ipv4Addresses && message.ipv4Addresses.length) { + object.ipv4Addresses = []; + for (var j = 0; j < message.ipv4Addresses.length; ++j) + object.ipv4Addresses[j] = message.ipv4Addresses[j]; + } + if (message.ipv6Addresses && message.ipv6Addresses.length) { + object.ipv6Addresses = []; + for (var j = 0; j < message.ipv6Addresses.length; ++j) + object.ipv6Addresses[j] = message.ipv6Addresses[j]; + } + return object; + }; + + /** + * Converts this GlueRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @instance + * @returns {Object.} JSON object + */ + GlueRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GlueRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DnsSettings.GlueRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GlueRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DnsSettings.GlueRecord"; + }; + + return GlueRecord; + })(); + + /** + * DsState enum. + * @name google.cloud.domains.v1alpha2.DnsSettings.DsState + * @enum {number} + * @property {number} DS_STATE_UNSPECIFIED=0 DS_STATE_UNSPECIFIED value + * @property {number} DS_RECORDS_UNPUBLISHED=1 DS_RECORDS_UNPUBLISHED value + * @property {number} DS_RECORDS_PUBLISHED=2 DS_RECORDS_PUBLISHED value + */ + DnsSettings.DsState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DS_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DS_RECORDS_UNPUBLISHED"] = 1; + values[valuesById[2] = "DS_RECORDS_PUBLISHED"] = 2; + return values; + })(); + + return DnsSettings; + })(); + + v1alpha2.ContactSettings = (function() { + + /** + * Properties of a ContactSettings. + * @memberof google.cloud.domains.v1alpha2 + * @interface IContactSettings + * @property {google.cloud.domains.v1alpha2.ContactPrivacy|null} [privacy] ContactSettings privacy + * @property {google.cloud.domains.v1alpha2.ContactSettings.IContact|null} [registrantContact] ContactSettings registrantContact + * @property {google.cloud.domains.v1alpha2.ContactSettings.IContact|null} [adminContact] ContactSettings adminContact + * @property {google.cloud.domains.v1alpha2.ContactSettings.IContact|null} [technicalContact] ContactSettings technicalContact + */ + + /** + * Constructs a new ContactSettings. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ContactSettings. + * @implements IContactSettings + * @constructor + * @param {google.cloud.domains.v1alpha2.IContactSettings=} [properties] Properties to set + */ + function ContactSettings(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]]; + } + + /** + * ContactSettings privacy. + * @member {google.cloud.domains.v1alpha2.ContactPrivacy} privacy + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @instance + */ + ContactSettings.prototype.privacy = 0; + + /** + * ContactSettings registrantContact. + * @member {google.cloud.domains.v1alpha2.ContactSettings.IContact|null|undefined} registrantContact + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @instance + */ + ContactSettings.prototype.registrantContact = null; + + /** + * ContactSettings adminContact. + * @member {google.cloud.domains.v1alpha2.ContactSettings.IContact|null|undefined} adminContact + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @instance + */ + ContactSettings.prototype.adminContact = null; + + /** + * ContactSettings technicalContact. + * @member {google.cloud.domains.v1alpha2.ContactSettings.IContact|null|undefined} technicalContact + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @instance + */ + ContactSettings.prototype.technicalContact = null; + + /** + * Creates a new ContactSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {google.cloud.domains.v1alpha2.IContactSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ContactSettings} ContactSettings instance + */ + ContactSettings.create = function create(properties) { + return new ContactSettings(properties); + }; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {google.cloud.domains.v1alpha2.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.privacy != null && Object.hasOwnProperty.call(message, "privacy")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.privacy); + if (message.registrantContact != null && Object.hasOwnProperty.call(message, "registrantContact")) + $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.encode(message.registrantContact, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.adminContact != null && Object.hasOwnProperty.call(message, "adminContact")) + $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.encode(message.adminContact, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.technicalContact != null && Object.hasOwnProperty.call(message, "technicalContact")) + $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.encode(message.technicalContact, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {google.cloud.domains.v1alpha2.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ContactSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.privacy = reader.int32(); + break; + } + case 2: { + message.registrantContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 3: { + message.adminContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 4: { + message.technicalContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContactSettings message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContactSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.privacy != null && message.hasOwnProperty("privacy")) + switch (message.privacy) { + default: + return "privacy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.verify(message.registrantContact); + if (error) + return "registrantContact." + error; + } + if (message.adminContact != null && message.hasOwnProperty("adminContact")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.verify(message.adminContact); + if (error) + return "adminContact." + error; + } + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.verify(message.technicalContact); + if (error) + return "technicalContact." + error; + } + return null; + }; + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ContactSettings} ContactSettings + */ + ContactSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ContactSettings) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ContactSettings(); + switch (object.privacy) { + default: + if (typeof object.privacy === "number") { + message.privacy = object.privacy; + break; + } + break; + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.privacy = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.privacy = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.privacy = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.privacy = 3; + break; + } + if (object.registrantContact != null) { + if (typeof object.registrantContact !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ContactSettings.registrantContact: object expected"); + message.registrantContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.fromObject(object.registrantContact); + } + if (object.adminContact != null) { + if (typeof object.adminContact !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ContactSettings.adminContact: object expected"); + message.adminContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.fromObject(object.adminContact); + } + if (object.technicalContact != null) { + if (typeof object.technicalContact !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ContactSettings.technicalContact: object expected"); + message.technicalContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.fromObject(object.technicalContact); + } + return message; + }; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {google.cloud.domains.v1alpha2.ContactSettings} message ContactSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContactSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.privacy = options.enums === String ? "CONTACT_PRIVACY_UNSPECIFIED" : 0; + object.registrantContact = null; + object.adminContact = null; + object.technicalContact = null; + } + if (message.privacy != null && message.hasOwnProperty("privacy")) + object.privacy = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.privacy] === undefined ? message.privacy : $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.privacy] : message.privacy; + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) + object.registrantContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.toObject(message.registrantContact, options); + if (message.adminContact != null && message.hasOwnProperty("adminContact")) + object.adminContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.toObject(message.adminContact, options); + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) + object.technicalContact = $root.google.cloud.domains.v1alpha2.ContactSettings.Contact.toObject(message.technicalContact, options); + return object; + }; + + /** + * Converts this ContactSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @instance + * @returns {Object.} JSON object + */ + ContactSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ContactSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ContactSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ContactSettings"; + }; + + ContactSettings.Contact = (function() { + + /** + * Properties of a Contact. + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @interface IContact + * @property {google.type.IPostalAddress|null} [postalAddress] Contact postalAddress + * @property {string|null} [email] Contact email + * @property {string|null} [phoneNumber] Contact phoneNumber + * @property {string|null} [faxNumber] Contact faxNumber + */ + + /** + * Constructs a new Contact. + * @memberof google.cloud.domains.v1alpha2.ContactSettings + * @classdesc Represents a Contact. + * @implements IContact + * @constructor + * @param {google.cloud.domains.v1alpha2.ContactSettings.IContact=} [properties] Properties to set + */ + function Contact(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]]; + } + + /** + * Contact postalAddress. + * @member {google.type.IPostalAddress|null|undefined} postalAddress + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @instance + */ + Contact.prototype.postalAddress = null; + + /** + * Contact email. + * @member {string} email + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @instance + */ + Contact.prototype.email = ""; + + /** + * Contact phoneNumber. + * @member {string} phoneNumber + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @instance + */ + Contact.prototype.phoneNumber = ""; + + /** + * Contact faxNumber. + * @member {string} faxNumber + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @instance + */ + Contact.prototype.faxNumber = ""; + + /** + * Creates a new Contact instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1alpha2.ContactSettings.IContact=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ContactSettings.Contact} Contact instance + */ + Contact.create = function create(properties) { + return new Contact(properties); + }; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.Contact.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1alpha2.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress")) + $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.email != null && Object.hasOwnProperty.call(message, "email")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.email); + if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.phoneNumber); + if (message.faxNumber != null && Object.hasOwnProperty.call(message, "faxNumber")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.faxNumber); + return writer; + }; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ContactSettings.Contact.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1alpha2.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ContactSettings.Contact(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32()); + break; + } + case 2: { + message.email = reader.string(); + break; + } + case 3: { + message.phoneNumber = reader.string(); + break; + } + case 4: { + message.faxNumber = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Contact message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Contact.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) { + var error = $root.google.type.PostalAddress.verify(message.postalAddress); + if (error) + return "postalAddress." + error; + } + if (message.email != null && message.hasOwnProperty("email")) + if (!$util.isString(message.email)) + return "email: string expected"; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + if (!$util.isString(message.phoneNumber)) + return "phoneNumber: string expected"; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + if (!$util.isString(message.faxNumber)) + return "faxNumber: string expected"; + return null; + }; + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ContactSettings.Contact} Contact + */ + Contact.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ContactSettings.Contact) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ContactSettings.Contact(); + if (object.postalAddress != null) { + if (typeof object.postalAddress !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ContactSettings.Contact.postalAddress: object expected"); + message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress); + } + if (object.email != null) + message.email = String(object.email); + if (object.phoneNumber != null) + message.phoneNumber = String(object.phoneNumber); + if (object.faxNumber != null) + message.faxNumber = String(object.faxNumber); + return message; + }; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1alpha2.ContactSettings.Contact} message Contact + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Contact.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.postalAddress = null; + object.email = ""; + object.phoneNumber = ""; + object.faxNumber = ""; + } + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) + object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options); + if (message.email != null && message.hasOwnProperty("email")) + object.email = message.email; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + object.phoneNumber = message.phoneNumber; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + object.faxNumber = message.faxNumber; + return object; + }; + + /** + * Converts this Contact to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @instance + * @returns {Object.} JSON object + */ + Contact.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Contact + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ContactSettings.Contact + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Contact.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ContactSettings.Contact"; + }; + + return Contact; + })(); + + return ContactSettings; + })(); + + v1alpha2.SearchDomainsRequest = (function() { + + /** + * Properties of a SearchDomainsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface ISearchDomainsRequest + * @property {string|null} [query] SearchDomainsRequest query + * @property {string|null} [location] SearchDomainsRequest location + */ + + /** + * Constructs a new SearchDomainsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a SearchDomainsRequest. + * @implements ISearchDomainsRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest=} [properties] Properties to set + */ + function SearchDomainsRequest(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]]; + } + + /** + * SearchDomainsRequest query. + * @member {string} query + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.query = ""; + + /** + * SearchDomainsRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.location = ""; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.SearchDomainsRequest} SearchDomainsRequest instance + */ + SearchDomainsRequest.create = function create(properties) { + return new SearchDomainsRequest(properties); + }; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.query); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.SearchDomainsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.query = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.query != null && message.hasOwnProperty("query")) + if (!$util.isString(message.query)) + return "query: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.SearchDomainsRequest} SearchDomainsRequest + */ + SearchDomainsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.SearchDomainsRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.SearchDomainsRequest(); + if (object.query != null) + message.query = String(object.query); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1alpha2.SearchDomainsRequest} message SearchDomainsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.query = ""; + object.location = ""; + } + if (message.query != null && message.hasOwnProperty("query")) + object.query = message.query; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.SearchDomainsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.SearchDomainsRequest"; + }; + + return SearchDomainsRequest; + })(); + + v1alpha2.SearchDomainsResponse = (function() { + + /** + * Properties of a SearchDomainsResponse. + * @memberof google.cloud.domains.v1alpha2 + * @interface ISearchDomainsResponse + * @property {Array.|null} [registerParameters] SearchDomainsResponse registerParameters + */ + + /** + * Constructs a new SearchDomainsResponse. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a SearchDomainsResponse. + * @implements ISearchDomainsResponse + * @constructor + * @param {google.cloud.domains.v1alpha2.ISearchDomainsResponse=} [properties] Properties to set + */ + function SearchDomainsResponse(properties) { + this.registerParameters = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SearchDomainsResponse registerParameters. + * @member {Array.} registerParameters + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @instance + */ + SearchDomainsResponse.prototype.registerParameters = $util.emptyArray; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.SearchDomainsResponse} SearchDomainsResponse instance + */ + SearchDomainsResponse.create = function create(properties) { + return new SearchDomainsResponse(properties); + }; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && message.registerParameters.length) + for (var i = 0; i < message.registerParameters.length; ++i) + $root.google.cloud.domains.v1alpha2.RegisterParameters.encode(message.registerParameters[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.SearchDomainsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1alpha2.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.SearchDomainsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registerParameters && message.registerParameters.length)) + message.registerParameters = []; + message.registerParameters.push($root.google.cloud.domains.v1alpha2.RegisterParameters.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsResponse message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + if (!Array.isArray(message.registerParameters)) + return "registerParameters: array expected"; + for (var i = 0; i < message.registerParameters.length; ++i) { + var error = $root.google.cloud.domains.v1alpha2.RegisterParameters.verify(message.registerParameters[i]); + if (error) + return "registerParameters." + error; + } + } + return null; + }; + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.SearchDomainsResponse} SearchDomainsResponse + */ + SearchDomainsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.SearchDomainsResponse) + return object; + var message = new $root.google.cloud.domains.v1alpha2.SearchDomainsResponse(); + if (object.registerParameters) { + if (!Array.isArray(object.registerParameters)) + throw TypeError(".google.cloud.domains.v1alpha2.SearchDomainsResponse.registerParameters: array expected"); + message.registerParameters = []; + for (var i = 0; i < object.registerParameters.length; ++i) { + if (typeof object.registerParameters[i] !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.SearchDomainsResponse.registerParameters: object expected"); + message.registerParameters[i] = $root.google.cloud.domains.v1alpha2.RegisterParameters.fromObject(object.registerParameters[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1alpha2.SearchDomainsResponse} message SearchDomainsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registerParameters = []; + if (message.registerParameters && message.registerParameters.length) { + object.registerParameters = []; + for (var j = 0; j < message.registerParameters.length; ++j) + object.registerParameters[j] = $root.google.cloud.domains.v1alpha2.RegisterParameters.toObject(message.registerParameters[j], options); + } + return object; + }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.SearchDomainsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.SearchDomainsResponse"; + }; + + return SearchDomainsResponse; + })(); + + v1alpha2.RetrieveRegisterParametersRequest = (function() { + + /** + * Properties of a RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRetrieveRegisterParametersRequest + * @property {string|null} [domainName] RetrieveRegisterParametersRequest domainName + * @property {string|null} [location] RetrieveRegisterParametersRequest location + */ + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RetrieveRegisterParametersRequest. + * @implements IRetrieveRegisterParametersRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest=} [properties] Properties to set + */ + function RetrieveRegisterParametersRequest(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]]; + } + + /** + * RetrieveRegisterParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.domainName = ""; + + /** + * RetrieveRegisterParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest instance + */ + RetrieveRegisterParametersRequest.create = function create(properties) { + return new RetrieveRegisterParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + */ + RetrieveRegisterParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest"; + }; + + return RetrieveRegisterParametersRequest; + })(); + + v1alpha2.RetrieveRegisterParametersResponse = (function() { + + /** + * Properties of a RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRetrieveRegisterParametersResponse + * @property {google.cloud.domains.v1alpha2.IRegisterParameters|null} [registerParameters] RetrieveRegisterParametersResponse registerParameters + */ + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RetrieveRegisterParametersResponse. + * @implements IRetrieveRegisterParametersResponse + * @constructor + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse=} [properties] Properties to set + */ + function RetrieveRegisterParametersResponse(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]]; + } + + /** + * RetrieveRegisterParametersResponse registerParameters. + * @member {google.cloud.domains.v1alpha2.IRegisterParameters|null|undefined} registerParameters + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @instance + */ + RetrieveRegisterParametersResponse.prototype.registerParameters = null; + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse instance + */ + RetrieveRegisterParametersResponse.create = function create(properties) { + return new RetrieveRegisterParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && Object.hasOwnProperty.call(message, "registerParameters")) + $root.google.cloud.domains.v1alpha2.RegisterParameters.encode(message.registerParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registerParameters = $root.google.cloud.domains.v1alpha2.RegisterParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + var error = $root.google.cloud.domains.v1alpha2.RegisterParameters.verify(message.registerParameters); + if (error) + return "registerParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + */ + RetrieveRegisterParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse(); + if (object.registerParameters != null) { + if (typeof object.registerParameters !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse.registerParameters: object expected"); + message.registerParameters = $root.google.cloud.domains.v1alpha2.RegisterParameters.fromObject(object.registerParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registerParameters = null; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) + object.registerParameters = $root.google.cloud.domains.v1alpha2.RegisterParameters.toObject(message.registerParameters, options); + return object; + }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse"; + }; + + return RetrieveRegisterParametersResponse; + })(); + + v1alpha2.RegisterDomainRequest = (function() { + + /** + * Properties of a RegisterDomainRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRegisterDomainRequest + * @property {string|null} [parent] RegisterDomainRequest parent + * @property {google.cloud.domains.v1alpha2.IRegistration|null} [registration] RegisterDomainRequest registration + * @property {Array.|null} [domainNotices] RegisterDomainRequest domainNotices + * @property {Array.|null} [contactNotices] RegisterDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterDomainRequest yearlyPrice + * @property {boolean|null} [validateOnly] RegisterDomainRequest validateOnly + */ + + /** + * Constructs a new RegisterDomainRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RegisterDomainRequest. + * @implements IRegisterDomainRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest=} [properties] Properties to set + */ + function RegisterDomainRequest(properties) { + this.domainNotices = []; + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.parent = ""; + + /** + * RegisterDomainRequest registration. + * @member {google.cloud.domains.v1alpha2.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.registration = null; + + /** + * RegisterDomainRequest domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * RegisterDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.yearlyPrice = null; + + /** + * RegisterDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RegisterDomainRequest} RegisterDomainRequest instance + */ + RegisterDomainRequest.create = function create(properties) { + return new RegisterDomainRequest(properties); + }; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1alpha2.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RegisterDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1alpha2.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1alpha2.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RegisterDomainRequest} RegisterDomainRequest + */ + RegisterDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RegisterDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RegisterDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.RegisterDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1alpha2.Registration.fromObject(object.registration); + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1alpha2.RegisterDomainRequest.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1alpha2.RegisterDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.RegisterDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.RegisterDomainRequest} message RegisterDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.domainNotices = []; + object.contactNotices = []; + } + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1alpha2.Registration.toObject(message.registration, options); + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1alpha2.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @instance + * @returns {Object.} JSON object + */ + RegisterDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RegisterDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RegisterDomainRequest"; + }; + + return RegisterDomainRequest; + })(); + + v1alpha2.RetrieveTransferParametersRequest = (function() { + + /** + * Properties of a RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRetrieveTransferParametersRequest + * @property {string|null} [domainName] RetrieveTransferParametersRequest domainName + * @property {string|null} [location] RetrieveTransferParametersRequest location + */ + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RetrieveTransferParametersRequest. + * @implements IRetrieveTransferParametersRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest=} [properties] Properties to set + */ + function RetrieveTransferParametersRequest(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]]; + } + + /** + * RetrieveTransferParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.domainName = ""; + + /** + * RetrieveTransferParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest instance + */ + RetrieveTransferParametersRequest.create = function create(properties) { + return new RetrieveTransferParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + */ + RetrieveTransferParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest} message RetrieveTransferParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest"; + }; + + return RetrieveTransferParametersRequest; + })(); + + v1alpha2.RetrieveTransferParametersResponse = (function() { + + /** + * Properties of a RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRetrieveTransferParametersResponse + * @property {google.cloud.domains.v1alpha2.ITransferParameters|null} [transferParameters] RetrieveTransferParametersResponse transferParameters + */ + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RetrieveTransferParametersResponse. + * @implements IRetrieveTransferParametersResponse + * @constructor + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse=} [properties] Properties to set + */ + function RetrieveTransferParametersResponse(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]]; + } + + /** + * RetrieveTransferParametersResponse transferParameters. + * @member {google.cloud.domains.v1alpha2.ITransferParameters|null|undefined} transferParameters + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @instance + */ + RetrieveTransferParametersResponse.prototype.transferParameters = null; + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse instance + */ + RetrieveTransferParametersResponse.create = function create(properties) { + return new RetrieveTransferParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transferParameters != null && Object.hasOwnProperty.call(message, "transferParameters")) + $root.google.cloud.domains.v1alpha2.TransferParameters.encode(message.transferParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.transferParameters = $root.google.cloud.domains.v1alpha2.TransferParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) { + var error = $root.google.cloud.domains.v1alpha2.TransferParameters.verify(message.transferParameters); + if (error) + return "transferParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + */ + RetrieveTransferParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse(); + if (object.transferParameters != null) { + if (typeof object.transferParameters !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse.transferParameters: object expected"); + message.transferParameters = $root.google.cloud.domains.v1alpha2.TransferParameters.fromObject(object.transferParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse} message RetrieveTransferParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.transferParameters = null; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) + object.transferParameters = $root.google.cloud.domains.v1alpha2.TransferParameters.toObject(message.transferParameters, options); + return object; + }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse"; + }; + + return RetrieveTransferParametersResponse; + })(); + + v1alpha2.TransferDomainRequest = (function() { + + /** + * Properties of a TransferDomainRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface ITransferDomainRequest + * @property {string|null} [parent] TransferDomainRequest parent + * @property {google.cloud.domains.v1alpha2.IRegistration|null} [registration] TransferDomainRequest registration + * @property {Array.|null} [contactNotices] TransferDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] TransferDomainRequest yearlyPrice + * @property {google.cloud.domains.v1alpha2.IAuthorizationCode|null} [authorizationCode] TransferDomainRequest authorizationCode + * @property {boolean|null} [validateOnly] TransferDomainRequest validateOnly + */ + + /** + * Constructs a new TransferDomainRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a TransferDomainRequest. + * @implements ITransferDomainRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest=} [properties] Properties to set + */ + function TransferDomainRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.parent = ""; + + /** + * TransferDomainRequest registration. + * @member {google.cloud.domains.v1alpha2.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.registration = null; + + /** + * TransferDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * TransferDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.yearlyPrice = null; + + /** + * TransferDomainRequest authorizationCode. + * @member {google.cloud.domains.v1alpha2.IAuthorizationCode|null|undefined} authorizationCode + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.authorizationCode = null; + + /** + * TransferDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.TransferDomainRequest} TransferDomainRequest instance + */ + TransferDomainRequest.create = function create(properties) { + return new TransferDomainRequest(properties); + }; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1alpha2.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.authorizationCode != null && Object.hasOwnProperty.call(message, "authorizationCode")) + $root.google.cloud.domains.v1alpha2.AuthorizationCode.encode(message.authorizationCode, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.TransferDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1alpha2.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 4: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 5: { + message.authorizationCode = $root.google.cloud.domains.v1alpha2.AuthorizationCode.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1alpha2.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) { + var error = $root.google.cloud.domains.v1alpha2.AuthorizationCode.verify(message.authorizationCode); + if (error) + return "authorizationCode." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.TransferDomainRequest} TransferDomainRequest + */ + TransferDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.TransferDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.TransferDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.TransferDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1alpha2.Registration.fromObject(object.registration); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1alpha2.TransferDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.TransferDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.authorizationCode != null) { + if (typeof object.authorizationCode !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.TransferDomainRequest.authorizationCode: object expected"); + message.authorizationCode = $root.google.cloud.domains.v1alpha2.AuthorizationCode.fromObject(object.authorizationCode); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1alpha2.TransferDomainRequest} message TransferDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.authorizationCode = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1alpha2.Registration.toObject(message.registration, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) + object.authorizationCode = $root.google.cloud.domains.v1alpha2.AuthorizationCode.toObject(message.authorizationCode, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this TransferDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @instance + * @returns {Object.} JSON object + */ + TransferDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.TransferDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.TransferDomainRequest"; + }; + + return TransferDomainRequest; + })(); + + v1alpha2.ListRegistrationsRequest = (function() { + + /** + * Properties of a ListRegistrationsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IListRegistrationsRequest + * @property {string|null} [parent] ListRegistrationsRequest parent + * @property {number|null} [pageSize] ListRegistrationsRequest pageSize + * @property {string|null} [pageToken] ListRegistrationsRequest pageToken + * @property {string|null} [filter] ListRegistrationsRequest filter + */ + + /** + * Constructs a new ListRegistrationsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ListRegistrationsRequest. + * @implements IListRegistrationsRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest=} [properties] Properties to set + */ + function ListRegistrationsRequest(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]]; + } + + /** + * ListRegistrationsRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.parent = ""; + + /** + * ListRegistrationsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageSize = 0; + + /** + * ListRegistrationsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageToken = ""; + + /** + * ListRegistrationsRequest filter. + * @member {string} filter + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.filter = ""; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsRequest} ListRegistrationsRequest instance + */ + ListRegistrationsRequest.create = function create(properties) { + return new ListRegistrationsRequest(properties); + }; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsRequest} ListRegistrationsRequest + */ + ListRegistrationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ListRegistrationsRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ListRegistrationsRequest} message ListRegistrationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsRequest.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 ListRegistrationsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ListRegistrationsRequest"; + }; + + return ListRegistrationsRequest; + })(); + + v1alpha2.ListRegistrationsResponse = (function() { + + /** + * Properties of a ListRegistrationsResponse. + * @memberof google.cloud.domains.v1alpha2 + * @interface IListRegistrationsResponse + * @property {Array.|null} [registrations] ListRegistrationsResponse registrations + * @property {string|null} [nextPageToken] ListRegistrationsResponse nextPageToken + */ + + /** + * Constructs a new ListRegistrationsResponse. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ListRegistrationsResponse. + * @implements IListRegistrationsResponse + * @constructor + * @param {google.cloud.domains.v1alpha2.IListRegistrationsResponse=} [properties] Properties to set + */ + function ListRegistrationsResponse(properties) { + this.registrations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListRegistrationsResponse registrations. + * @member {Array.} registrations + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.registrations = $util.emptyArray; + + /** + * ListRegistrationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsResponse} ListRegistrationsResponse instance + */ + ListRegistrationsResponse.create = function create(properties) { + return new ListRegistrationsResponse(properties); + }; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registrations != null && message.registrations.length) + for (var i = 0; i < message.registrations.length; ++i) + $root.google.cloud.domains.v1alpha2.Registration.encode(message.registrations[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 ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ListRegistrationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1alpha2.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ListRegistrationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registrations && message.registrations.length)) + message.registrations = []; + message.registrations.push($root.google.cloud.domains.v1alpha2.Registration.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsResponse message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registrations != null && message.hasOwnProperty("registrations")) { + if (!Array.isArray(message.registrations)) + return "registrations: array expected"; + for (var i = 0; i < message.registrations.length; ++i) { + var error = $root.google.cloud.domains.v1alpha2.Registration.verify(message.registrations[i]); + if (error) + return "registrations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ListRegistrationsResponse} ListRegistrationsResponse + */ + ListRegistrationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ListRegistrationsResponse) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ListRegistrationsResponse(); + if (object.registrations) { + if (!Array.isArray(object.registrations)) + throw TypeError(".google.cloud.domains.v1alpha2.ListRegistrationsResponse.registrations: array expected"); + message.registrations = []; + for (var i = 0; i < object.registrations.length; ++i) { + if (typeof object.registrations[i] !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ListRegistrationsResponse.registrations: object expected"); + message.registrations[i] = $root.google.cloud.domains.v1alpha2.Registration.fromObject(object.registrations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1alpha2.ListRegistrationsResponse} message ListRegistrationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registrations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.registrations && message.registrations.length) { + object.registrations = []; + for (var j = 0; j < message.registrations.length; ++j) + object.registrations[j] = $root.google.cloud.domains.v1alpha2.Registration.toObject(message.registrations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ListRegistrationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ListRegistrationsResponse"; + }; + + return ListRegistrationsResponse; + })(); + + v1alpha2.GetRegistrationRequest = (function() { + + /** + * Properties of a GetRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IGetRegistrationRequest + * @property {string|null} [name] GetRegistrationRequest name + */ + + /** + * Constructs a new GetRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a GetRegistrationRequest. + * @implements IGetRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest=} [properties] Properties to set + */ + function GetRegistrationRequest(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]]; + } + + /** + * GetRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @instance + */ + GetRegistrationRequest.prototype.name = ""; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.GetRegistrationRequest} GetRegistrationRequest instance + */ + GetRegistrationRequest.create = function create(properties) { + return new GetRegistrationRequest(properties); + }; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.GetRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.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 GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.GetRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.GetRegistrationRequest(); + 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 GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetRegistrationRequest.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 GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.GetRegistrationRequest} GetRegistrationRequest + */ + GetRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.GetRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.GetRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.GetRegistrationRequest} message GetRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetRegistrationRequest.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 GetRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + GetRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.GetRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.GetRegistrationRequest"; + }; + + return GetRegistrationRequest; + })(); + + v1alpha2.UpdateRegistrationRequest = (function() { + + /** + * Properties of an UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IUpdateRegistrationRequest + * @property {google.cloud.domains.v1alpha2.IRegistration|null} [registration] UpdateRegistrationRequest registration + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateRegistrationRequest updateMask + */ + + /** + * Constructs a new UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents an UpdateRegistrationRequest. + * @implements IUpdateRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest=} [properties] Properties to set + */ + function UpdateRegistrationRequest(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]]; + } + + /** + * UpdateRegistrationRequest registration. + * @member {google.cloud.domains.v1alpha2.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.registration = null; + + /** + * UpdateRegistrationRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.UpdateRegistrationRequest} UpdateRegistrationRequest instance + */ + UpdateRegistrationRequest.create = function create(properties) { + return new UpdateRegistrationRequest(properties); + }; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.UpdateRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1alpha2.Registration.encode(message.registration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.UpdateRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.UpdateRegistrationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = $root.google.cloud.domains.v1alpha2.Registration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateRegistrationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1alpha2.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.UpdateRegistrationRequest} UpdateRegistrationRequest + */ + UpdateRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.UpdateRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.UpdateRegistrationRequest(); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.UpdateRegistrationRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1alpha2.Registration.fromObject(object.registration); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.UpdateRegistrationRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.UpdateRegistrationRequest} message UpdateRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateRegistrationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1alpha2.Registration.toObject(message.registration, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.UpdateRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.UpdateRegistrationRequest"; + }; + + return UpdateRegistrationRequest; + })(); + + v1alpha2.ConfigureManagementSettingsRequest = (function() { + + /** + * Properties of a ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IConfigureManagementSettingsRequest + * @property {string|null} [registration] ConfigureManagementSettingsRequest registration + * @property {google.cloud.domains.v1alpha2.IManagementSettings|null} [managementSettings] ConfigureManagementSettingsRequest managementSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureManagementSettingsRequest updateMask + */ + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ConfigureManagementSettingsRequest. + * @implements IConfigureManagementSettingsRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest=} [properties] Properties to set + */ + function ConfigureManagementSettingsRequest(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]]; + } + + /** + * ConfigureManagementSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.registration = ""; + + /** + * ConfigureManagementSettingsRequest managementSettings. + * @member {google.cloud.domains.v1alpha2.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.managementSettings = null; + + /** + * ConfigureManagementSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.updateMask = null; + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest instance + */ + ConfigureManagementSettingsRequest.create = function create(properties) { + return new ConfigureManagementSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1alpha2.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureManagementSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1alpha2.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + */ + ConfigureManagementSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.fromObject(object.managementSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureManagementSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.managementSettings = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1alpha2.ManagementSettings.toObject(message.managementSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureManagementSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureManagementSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest"; + }; + + return ConfigureManagementSettingsRequest; + })(); + + v1alpha2.ConfigureDnsSettingsRequest = (function() { + + /** + * Properties of a ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IConfigureDnsSettingsRequest + * @property {string|null} [registration] ConfigureDnsSettingsRequest registration + * @property {google.cloud.domains.v1alpha2.IDnsSettings|null} [dnsSettings] ConfigureDnsSettingsRequest dnsSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureDnsSettingsRequest updateMask + * @property {boolean|null} [validateOnly] ConfigureDnsSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ConfigureDnsSettingsRequest. + * @implements IConfigureDnsSettingsRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest=} [properties] Properties to set + */ + function ConfigureDnsSettingsRequest(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]]; + } + + /** + * ConfigureDnsSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.registration = ""; + + /** + * ConfigureDnsSettingsRequest dnsSettings. + * @member {google.cloud.domains.v1alpha2.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.dnsSettings = null; + + /** + * ConfigureDnsSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureDnsSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest instance + */ + ConfigureDnsSettingsRequest.create = function create(properties) { + return new ConfigureDnsSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1alpha2.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureDnsSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1alpha2.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + */ + ConfigureDnsSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.fromObject(object.dnsSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureDnsSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.dnsSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1alpha2.DnsSettings.toObject(message.dnsSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureDnsSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureDnsSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest"; + }; + + return ConfigureDnsSettingsRequest; + })(); + + v1alpha2.ConfigureContactSettingsRequest = (function() { + + /** + * Properties of a ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IConfigureContactSettingsRequest + * @property {string|null} [registration] ConfigureContactSettingsRequest registration + * @property {google.cloud.domains.v1alpha2.IContactSettings|null} [contactSettings] ConfigureContactSettingsRequest contactSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureContactSettingsRequest updateMask + * @property {Array.|null} [contactNotices] ConfigureContactSettingsRequest contactNotices + * @property {boolean|null} [validateOnly] ConfigureContactSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ConfigureContactSettingsRequest. + * @implements IConfigureContactSettingsRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest=} [properties] Properties to set + */ + function ConfigureContactSettingsRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConfigureContactSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.registration = ""; + + /** + * ConfigureContactSettingsRequest contactSettings. + * @member {google.cloud.domains.v1alpha2.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactSettings = null; + + /** + * ConfigureContactSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureContactSettingsRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactNotices = $util.emptyArray; + + /** + * ConfigureContactSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest instance + */ + ConfigureContactSettingsRequest.create = function create(properties) { + return new ConfigureContactSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1alpha2.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureContactSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1alpha2.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + */ + ConfigureContactSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.fromObject(object.contactSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest} message ConfigureContactSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureContactSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.registration = ""; + object.contactSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1alpha2.ContactSettings.toObject(message.contactSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1alpha2.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureContactSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureContactSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest"; + }; + + return ConfigureContactSettingsRequest; + })(); + + v1alpha2.ExportRegistrationRequest = (function() { + + /** + * Properties of an ExportRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IExportRegistrationRequest + * @property {string|null} [name] ExportRegistrationRequest name + */ + + /** + * Constructs a new ExportRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents an ExportRegistrationRequest. + * @implements IExportRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest=} [properties] Properties to set + */ + function ExportRegistrationRequest(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]]; + } + + /** + * ExportRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @instance + */ + ExportRegistrationRequest.prototype.name = ""; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ExportRegistrationRequest} ExportRegistrationRequest instance + */ + ExportRegistrationRequest.create = function create(properties) { + return new ExportRegistrationRequest(properties); + }; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ExportRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ExportRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ExportRegistrationRequest(); + 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 ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExportRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ExportRegistrationRequest} ExportRegistrationRequest + */ + ExportRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ExportRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ExportRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.ExportRegistrationRequest} message ExportRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExportRegistrationRequest.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 ExportRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + ExportRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ExportRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExportRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ExportRegistrationRequest"; + }; + + return ExportRegistrationRequest; + })(); + + v1alpha2.DeleteRegistrationRequest = (function() { + + /** + * Properties of a DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IDeleteRegistrationRequest + * @property {string|null} [name] DeleteRegistrationRequest name + */ + + /** + * Constructs a new DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a DeleteRegistrationRequest. + * @implements IDeleteRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest=} [properties] Properties to set + */ + function DeleteRegistrationRequest(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]]; + } + + /** + * DeleteRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @instance + */ + DeleteRegistrationRequest.prototype.name = ""; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.DeleteRegistrationRequest} DeleteRegistrationRequest instance + */ + DeleteRegistrationRequest.create = function create(properties) { + return new DeleteRegistrationRequest(properties); + }; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.DeleteRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.DeleteRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.DeleteRegistrationRequest(); + 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 DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.DeleteRegistrationRequest} DeleteRegistrationRequest + */ + DeleteRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.DeleteRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.DeleteRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1alpha2.DeleteRegistrationRequest} message DeleteRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.DeleteRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.DeleteRegistrationRequest"; + }; + + return DeleteRegistrationRequest; + })(); + + v1alpha2.RetrieveAuthorizationCodeRequest = (function() { + + /** + * Properties of a RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRetrieveAuthorizationCodeRequest + * @property {string|null} [registration] RetrieveAuthorizationCodeRequest registration + */ + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RetrieveAuthorizationCodeRequest. + * @implements IRetrieveAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + */ + function RetrieveAuthorizationCodeRequest(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]]; + } + + /** + * RetrieveAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @instance + */ + RetrieveAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest instance + */ + RetrieveAuthorizationCodeRequest.create = function create(properties) { + return new RetrieveAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + */ + RetrieveAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest"; + }; + + return RetrieveAuthorizationCodeRequest; + })(); + + v1alpha2.ResetAuthorizationCodeRequest = (function() { + + /** + * Properties of a ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1alpha2 + * @interface IResetAuthorizationCodeRequest + * @property {string|null} [registration] ResetAuthorizationCodeRequest registration + */ + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a ResetAuthorizationCodeRequest. + * @implements IResetAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest=} [properties] Properties to set + */ + function ResetAuthorizationCodeRequest(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]]; + } + + /** + * ResetAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @instance + */ + ResetAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest instance + */ + ResetAuthorizationCodeRequest.create = function create(properties) { + return new ResetAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResetAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + */ + ResetAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResetAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + ResetAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResetAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest"; + }; + + return ResetAuthorizationCodeRequest; + })(); + + v1alpha2.RegisterParameters = (function() { + + /** + * Properties of a RegisterParameters. + * @memberof google.cloud.domains.v1alpha2 + * @interface IRegisterParameters + * @property {string|null} [domainName] RegisterParameters domainName + * @property {google.cloud.domains.v1alpha2.RegisterParameters.Availability|null} [availability] RegisterParameters availability + * @property {Array.|null} [supportedPrivacy] RegisterParameters supportedPrivacy + * @property {Array.|null} [domainNotices] RegisterParameters domainNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterParameters yearlyPrice + */ + + /** + * Constructs a new RegisterParameters. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a RegisterParameters. + * @implements IRegisterParameters + * @constructor + * @param {google.cloud.domains.v1alpha2.IRegisterParameters=} [properties] Properties to set + */ + function RegisterParameters(properties) { + this.supportedPrivacy = []; + this.domainNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainName = ""; + + /** + * RegisterParameters availability. + * @member {google.cloud.domains.v1alpha2.RegisterParameters.Availability} availability + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + */ + RegisterParameters.prototype.availability = 0; + + /** + * RegisterParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + */ + RegisterParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * RegisterParameters domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + */ + RegisterParameters.prototype.yearlyPrice = null; + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.RegisterParameters} RegisterParameters instance + */ + RegisterParameters.create = function create(properties) { + return new RegisterParameters(properties); + }; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.availability != null && Object.hasOwnProperty.call(message, "availability")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.availability); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.RegisterParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {google.cloud.domains.v1alpha2.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.RegisterParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.availability = reader.int32(); + break; + } + case 3: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 4: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterParameters message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.availability != null && message.hasOwnProperty("availability")) + switch (message.availability) { + default: + return "availability: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.RegisterParameters} RegisterParameters + */ + RegisterParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.RegisterParameters) + return object; + var message = new $root.google.cloud.domains.v1alpha2.RegisterParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + switch (object.availability) { + default: + if (typeof object.availability === "number") { + message.availability = object.availability; + break; + } + break; + case "AVAILABILITY_UNSPECIFIED": + case 0: + message.availability = 0; + break; + case "AVAILABLE": + case 1: + message.availability = 1; + break; + case "UNAVAILABLE": + case 2: + message.availability = 2; + break; + case "UNSUPPORTED": + case 3: + message.availability = 3; + break; + case "UNKNOWN": + case 4: + message.availability = 4; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1alpha2.RegisterParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1alpha2.RegisterParameters.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.RegisterParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {google.cloud.domains.v1alpha2.RegisterParameters} message RegisterParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.supportedPrivacy = []; + object.domainNotices = []; + } + if (options.defaults) { + object.domainName = ""; + object.availability = options.enums === String ? "AVAILABILITY_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.availability != null && message.hasOwnProperty("availability")) + object.availability = options.enums === String ? $root.google.cloud.domains.v1alpha2.RegisterParameters.Availability[message.availability] === undefined ? message.availability : $root.google.cloud.domains.v1alpha2.RegisterParameters.Availability[message.availability] : message.availability; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1alpha2.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this RegisterParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @instance + * @returns {Object.} JSON object + */ + RegisterParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.RegisterParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.RegisterParameters"; + }; + + /** + * Availability enum. + * @name google.cloud.domains.v1alpha2.RegisterParameters.Availability + * @enum {number} + * @property {number} AVAILABILITY_UNSPECIFIED=0 AVAILABILITY_UNSPECIFIED value + * @property {number} AVAILABLE=1 AVAILABLE value + * @property {number} UNAVAILABLE=2 UNAVAILABLE value + * @property {number} UNSUPPORTED=3 UNSUPPORTED value + * @property {number} UNKNOWN=4 UNKNOWN value + */ + RegisterParameters.Availability = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "AVAILABILITY_UNSPECIFIED"] = 0; + values[valuesById[1] = "AVAILABLE"] = 1; + values[valuesById[2] = "UNAVAILABLE"] = 2; + values[valuesById[3] = "UNSUPPORTED"] = 3; + values[valuesById[4] = "UNKNOWN"] = 4; + return values; + })(); + + return RegisterParameters; + })(); + + v1alpha2.TransferParameters = (function() { + + /** + * Properties of a TransferParameters. + * @memberof google.cloud.domains.v1alpha2 + * @interface ITransferParameters + * @property {string|null} [domainName] TransferParameters domainName + * @property {string|null} [currentRegistrar] TransferParameters currentRegistrar + * @property {Array.|null} [nameServers] TransferParameters nameServers + * @property {google.cloud.domains.v1alpha2.TransferLockState|null} [transferLockState] TransferParameters transferLockState + * @property {Array.|null} [supportedPrivacy] TransferParameters supportedPrivacy + * @property {google.type.IMoney|null} [yearlyPrice] TransferParameters yearlyPrice + */ + + /** + * Constructs a new TransferParameters. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents a TransferParameters. + * @implements ITransferParameters + * @constructor + * @param {google.cloud.domains.v1alpha2.ITransferParameters=} [properties] Properties to set + */ + function TransferParameters(properties) { + this.nameServers = []; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.domainName = ""; + + /** + * TransferParameters currentRegistrar. + * @member {string} currentRegistrar + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.currentRegistrar = ""; + + /** + * TransferParameters nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.nameServers = $util.emptyArray; + + /** + * TransferParameters transferLockState. + * @member {google.cloud.domains.v1alpha2.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.transferLockState = 0; + + /** + * TransferParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * TransferParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + */ + TransferParameters.prototype.yearlyPrice = null; + + /** + * Creates a new TransferParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {google.cloud.domains.v1alpha2.ITransferParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.TransferParameters} TransferParameters instance + */ + TransferParameters.create = function create(properties) { + return new TransferParameters(properties); + }; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {google.cloud.domains.v1alpha2.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.currentRegistrar != null && Object.hasOwnProperty.call(message, "currentRegistrar")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.currentRegistrar); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameServers[i]); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.TransferParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {google.cloud.domains.v1alpha2.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.TransferParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.currentRegistrar = reader.string(); + break; + } + case 3: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + case 5: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 6: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferParameters message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + if (!$util.isString(message.currentRegistrar)) + return "currentRegistrar: string expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.TransferParameters} TransferParameters + */ + TransferParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.TransferParameters) + return object; + var message = new $root.google.cloud.domains.v1alpha2.TransferParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.currentRegistrar != null) + message.currentRegistrar = String(object.currentRegistrar); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1alpha2.TransferParameters.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1alpha2.TransferParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.TransferParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {google.cloud.domains.v1alpha2.TransferParameters} message TransferParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.supportedPrivacy = []; + } + if (options.defaults) { + object.domainName = ""; + object.currentRegistrar = ""; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + object.currentRegistrar = message.currentRegistrar; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1alpha2.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1alpha2.TransferLockState[message.transferLockState] : message.transferLockState; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1alpha2.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this TransferParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @instance + * @returns {Object.} JSON object + */ + TransferParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.TransferParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.TransferParameters"; + }; + + return TransferParameters; + })(); + + v1alpha2.AuthorizationCode = (function() { + + /** + * Properties of an AuthorizationCode. + * @memberof google.cloud.domains.v1alpha2 + * @interface IAuthorizationCode + * @property {string|null} [code] AuthorizationCode code + */ + + /** + * Constructs a new AuthorizationCode. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents an AuthorizationCode. + * @implements IAuthorizationCode + * @constructor + * @param {google.cloud.domains.v1alpha2.IAuthorizationCode=} [properties] Properties to set + */ + function AuthorizationCode(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]]; + } + + /** + * AuthorizationCode code. + * @member {string} code + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @instance + */ + AuthorizationCode.prototype.code = ""; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {google.cloud.domains.v1alpha2.IAuthorizationCode=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.AuthorizationCode} AuthorizationCode instance + */ + AuthorizationCode.create = function create(properties) { + return new AuthorizationCode(properties); + }; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1alpha2.AuthorizationCode.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {google.cloud.domains.v1alpha2.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.code); + return writer; + }; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.AuthorizationCode.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {google.cloud.domains.v1alpha2.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.AuthorizationCode(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthorizationCode message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthorizationCode.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isString(message.code)) + return "code: string expected"; + return null; + }; + + /** + * Creates an AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.AuthorizationCode} AuthorizationCode + */ + AuthorizationCode.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.AuthorizationCode) + return object; + var message = new $root.google.cloud.domains.v1alpha2.AuthorizationCode(); + if (object.code != null) + message.code = String(object.code); + return message; + }; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {google.cloud.domains.v1alpha2.AuthorizationCode} message AuthorizationCode + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthorizationCode.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.code = ""; + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + return object; + }; + + /** + * Converts this AuthorizationCode to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @instance + * @returns {Object.} JSON object + */ + AuthorizationCode.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthorizationCode + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.AuthorizationCode + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthorizationCode.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.AuthorizationCode"; + }; + + return AuthorizationCode; + })(); + + v1alpha2.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.domains.v1alpha2 + * @interface IOperationMetadata + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime + * @property {string|null} [target] OperationMetadata target + * @property {string|null} [verb] OperationMetadata verb + * @property {string|null} [statusDetail] OperationMetadata statusDetail + * @property {string|null} [apiVersion] OperationMetadata apiVersion + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.domains.v1alpha2 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.domains.v1alpha2.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.endTime = null; + + /** + * OperationMetadata target. + * @member {string} target + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.target = ""; + + /** + * OperationMetadata verb. + * @member {string} verb + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.verb = ""; + + /** + * OperationMetadata statusDetail. + * @member {string} statusDetail + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.statusDetail = ""; + + /** + * OperationMetadata apiVersion. + * @member {string} apiVersion + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + */ + OperationMetadata.prototype.apiVersion = ""; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {google.cloud.domains.v1alpha2.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.domains.v1alpha2.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.v1alpha2.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {google.cloud.domains.v1alpha2.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.target != null && Object.hasOwnProperty.call(message, "target")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.target); + if (message.verb != null && Object.hasOwnProperty.call(message, "verb")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb); + if (message.statusDetail != null && Object.hasOwnProperty.call(message, "statusDetail")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusDetail); + if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.apiVersion); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.v1alpha2.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {google.cloud.domains.v1alpha2.IOperationMetadata} message OperationMetadata message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + OperationMetadata.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1alpha2.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1alpha2.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.target = reader.string(); + break; + } + case 4: { + message.verb = reader.string(); + break; + } + case 5: { + message.statusDetail = reader.string(); + break; + } + case 6: { + message.apiVersion = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1alpha2.OperationMetadata} OperationMetadata + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + OperationMetadata.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an OperationMetadata message. + * @function verify + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + OperationMetadata.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.target != null && message.hasOwnProperty("target")) + if (!$util.isString(message.target)) + return "target: string expected"; + if (message.verb != null && message.hasOwnProperty("verb")) + if (!$util.isString(message.verb)) + return "verb: string expected"; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + if (!$util.isString(message.statusDetail)) + return "statusDetail: string expected"; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + if (!$util.isString(message.apiVersion)) + return "apiVersion: string expected"; + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1alpha2.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1alpha2.OperationMetadata) + return object; + var message = new $root.google.cloud.domains.v1alpha2.OperationMetadata(); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.domains.v1alpha2.OperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + if (object.target != null) + message.target = String(object.target); + if (object.verb != null) + message.verb = String(object.verb); + if (object.statusDetail != null) + message.statusDetail = String(object.statusDetail); + if (object.apiVersion != null) + message.apiVersion = String(object.apiVersion); + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {google.cloud.domains.v1alpha2.OperationMetadata} message OperationMetadata + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + OperationMetadata.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.createTime = null; + object.endTime = null; + object.target = ""; + object.verb = ""; + object.statusDetail = ""; + object.apiVersion = ""; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + if (message.target != null && message.hasOwnProperty("target")) + object.target = message.target; + if (message.verb != null && message.hasOwnProperty("verb")) + object.verb = message.verb; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + object.statusDetail = message.statusDetail; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + object.apiVersion = message.apiVersion; + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @instance + * @returns {Object.} JSON object + */ + OperationMetadata.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for OperationMetadata + * @function getTypeUrl + * @memberof google.cloud.domains.v1alpha2.OperationMetadata + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + OperationMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1alpha2.OperationMetadata"; + }; + + return OperationMetadata; + })(); + + /** + * ContactPrivacy enum. + * @name google.cloud.domains.v1alpha2.ContactPrivacy + * @enum {number} + * @property {number} CONTACT_PRIVACY_UNSPECIFIED=0 CONTACT_PRIVACY_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA=1 PUBLIC_CONTACT_DATA value + * @property {number} PRIVATE_CONTACT_DATA=2 PRIVATE_CONTACT_DATA value + * @property {number} REDACTED_CONTACT_DATA=3 REDACTED_CONTACT_DATA value + */ + v1alpha2.ContactPrivacy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_PRIVACY_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA"] = 1; + values[valuesById[2] = "PRIVATE_CONTACT_DATA"] = 2; + values[valuesById[3] = "REDACTED_CONTACT_DATA"] = 3; + return values; + })(); + + /** + * DomainNotice enum. + * @name google.cloud.domains.v1alpha2.DomainNotice + * @enum {number} + * @property {number} DOMAIN_NOTICE_UNSPECIFIED=0 DOMAIN_NOTICE_UNSPECIFIED value + * @property {number} HSTS_PRELOADED=1 HSTS_PRELOADED value + */ + v1alpha2.DomainNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DOMAIN_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "HSTS_PRELOADED"] = 1; + return values; + })(); + + /** + * ContactNotice enum. + * @name google.cloud.domains.v1alpha2.ContactNotice + * @enum {number} + * @property {number} CONTACT_NOTICE_UNSPECIFIED=0 CONTACT_NOTICE_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT=1 PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT value + */ + v1alpha2.ContactNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT"] = 1; + return values; + })(); + + /** + * TransferLockState enum. + * @name google.cloud.domains.v1alpha2.TransferLockState + * @enum {number} + * @property {number} TRANSFER_LOCK_STATE_UNSPECIFIED=0 TRANSFER_LOCK_STATE_UNSPECIFIED value + * @property {number} UNLOCKED=1 UNLOCKED value + * @property {number} LOCKED=2 LOCKED value + */ + v1alpha2.TransferLockState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TRANSFER_LOCK_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "UNLOCKED"] = 1; + values[valuesById[2] = "LOCKED"] = 2; + return values; + })(); + + return v1alpha2; + })(); + + domains.v1beta1 = (function() { + + /** + * Namespace v1beta1. + * @memberof google.cloud.domains + * @namespace + */ + var v1beta1 = {}; + + v1beta1.Domains = (function() { + + /** + * Constructs a new Domains service. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a Domains + * @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 Domains(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Domains.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Domains; + + /** + * Creates new Domains service using the specified rpc implementation. + * @function create + * @memberof google.cloud.domains.v1beta1.Domains + * @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 {Domains} RPC service. Useful where requests and/or responses are streamed. + */ + Domains.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|searchDomains}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef SearchDomainsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.SearchDomainsResponse} [response] SearchDomainsResponse + */ + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.SearchDomainsCallback} callback Node-style callback called with the error, if any, and SearchDomainsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.searchDomains = function searchDomains(request, callback) { + return this.rpcCall(searchDomains, $root.google.cloud.domains.v1beta1.SearchDomainsRequest, $root.google.cloud.domains.v1beta1.SearchDomainsResponse, request, callback); + }, "name", { value: "SearchDomains" }); + + /** + * Calls SearchDomains. + * @function searchDomains + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest} request SearchDomainsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveRegisterParameters}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef RetrieveRegisterParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} [response] RetrieveRegisterParametersResponse + */ + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.RetrieveRegisterParametersCallback} callback Node-style callback called with the error, if any, and RetrieveRegisterParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveRegisterParameters = function retrieveRegisterParameters(request, callback) { + return this.rpcCall(retrieveRegisterParameters, $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest, $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse, request, callback); + }, "name", { value: "RetrieveRegisterParameters" }); + + /** + * Calls RetrieveRegisterParameters. + * @function retrieveRegisterParameters + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest} request RetrieveRegisterParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|registerDomain}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef RegisterDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.RegisterDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.registerDomain = function registerDomain(request, callback) { + return this.rpcCall(registerDomain, $root.google.cloud.domains.v1beta1.RegisterDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "RegisterDomain" }); + + /** + * Calls RegisterDomain. + * @function registerDomain + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest} request RegisterDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveTransferParameters}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef RetrieveTransferParametersCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} [response] RetrieveTransferParametersResponse + */ + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.RetrieveTransferParametersCallback} callback Node-style callback called with the error, if any, and RetrieveTransferParametersResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveTransferParameters = function retrieveTransferParameters(request, callback) { + return this.rpcCall(retrieveTransferParameters, $root.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest, $root.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse, request, callback); + }, "name", { value: "RetrieveTransferParameters" }); + + /** + * Calls RetrieveTransferParameters. + * @function retrieveTransferParameters + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest} request RetrieveTransferParametersRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|transferDomain}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef TransferDomainCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.TransferDomainCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.transferDomain = function transferDomain(request, callback) { + return this.rpcCall(transferDomain, $root.google.cloud.domains.v1beta1.TransferDomainRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "TransferDomain" }); + + /** + * Calls TransferDomain. + * @function transferDomain + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest} request TransferDomainRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|listRegistrations}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ListRegistrationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.ListRegistrationsResponse} [response] ListRegistrationsResponse + */ + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ListRegistrationsCallback} callback Node-style callback called with the error, if any, and ListRegistrationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.listRegistrations = function listRegistrations(request, callback) { + return this.rpcCall(listRegistrations, $root.google.cloud.domains.v1beta1.ListRegistrationsRequest, $root.google.cloud.domains.v1beta1.ListRegistrationsResponse, request, callback); + }, "name", { value: "ListRegistrations" }); + + /** + * Calls ListRegistrations. + * @function listRegistrations + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest} request ListRegistrationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|getRegistration}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef GetRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.Registration} [response] Registration + */ + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.GetRegistrationCallback} callback Node-style callback called with the error, if any, and Registration + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.getRegistration = function getRegistration(request, callback) { + return this.rpcCall(getRegistration, $root.google.cloud.domains.v1beta1.GetRegistrationRequest, $root.google.cloud.domains.v1beta1.Registration, request, callback); + }, "name", { value: "GetRegistration" }); + + /** + * Calls GetRegistration. + * @function getRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest} request GetRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|updateRegistration}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef UpdateRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.UpdateRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.updateRegistration = function updateRegistration(request, callback) { + return this.rpcCall(updateRegistration, $root.google.cloud.domains.v1beta1.UpdateRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "UpdateRegistration" }); + + /** + * Calls UpdateRegistration. + * @function updateRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest} request UpdateRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureManagementSettings}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ConfigureManagementSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ConfigureManagementSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureManagementSettings = function configureManagementSettings(request, callback) { + return this.rpcCall(configureManagementSettings, $root.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureManagementSettings" }); + + /** + * Calls ConfigureManagementSettings. + * @function configureManagementSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest} request ConfigureManagementSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureDnsSettings}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ConfigureDnsSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ConfigureDnsSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureDnsSettings = function configureDnsSettings(request, callback) { + return this.rpcCall(configureDnsSettings, $root.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureDnsSettings" }); + + /** + * Calls ConfigureDnsSettings. + * @function configureDnsSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest} request ConfigureDnsSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|configureContactSettings}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ConfigureContactSettingsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ConfigureContactSettingsCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.configureContactSettings = function configureContactSettings(request, callback) { + return this.rpcCall(configureContactSettings, $root.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ConfigureContactSettings" }); + + /** + * Calls ConfigureContactSettings. + * @function configureContactSettings + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest} request ConfigureContactSettingsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|exportRegistration}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ExportRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ExportRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.exportRegistration = function exportRegistration(request, callback) { + return this.rpcCall(exportRegistration, $root.google.cloud.domains.v1beta1.ExportRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "ExportRegistration" }); + + /** + * Calls ExportRegistration. + * @function exportRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest} request ExportRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|deleteRegistration}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef DeleteRegistrationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.DeleteRegistrationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.deleteRegistration = function deleteRegistration(request, callback) { + return this.rpcCall(deleteRegistration, $root.google.cloud.domains.v1beta1.DeleteRegistrationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "DeleteRegistration" }); + + /** + * Calls DeleteRegistration. + * @function deleteRegistration + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest} request DeleteRegistrationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|retrieveAuthorizationCode}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef RetrieveAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.RetrieveAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.retrieveAuthorizationCode = function retrieveAuthorizationCode(request, callback) { + return this.rpcCall(retrieveAuthorizationCode, $root.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest, $root.google.cloud.domains.v1beta1.AuthorizationCode, request, callback); + }, "name", { value: "RetrieveAuthorizationCode" }); + + /** + * Calls RetrieveAuthorizationCode. + * @function retrieveAuthorizationCode + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest} request RetrieveAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.cloud.domains.v1beta1.Domains|resetAuthorizationCode}. + * @memberof google.cloud.domains.v1beta1.Domains + * @typedef ResetAuthorizationCodeCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.cloud.domains.v1beta1.AuthorizationCode} [response] AuthorizationCode + */ + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @param {google.cloud.domains.v1beta1.Domains.ResetAuthorizationCodeCallback} callback Node-style callback called with the error, if any, and AuthorizationCode + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Domains.prototype.resetAuthorizationCode = function resetAuthorizationCode(request, callback) { + return this.rpcCall(resetAuthorizationCode, $root.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest, $root.google.cloud.domains.v1beta1.AuthorizationCode, request, callback); + }, "name", { value: "ResetAuthorizationCode" }); + + /** + * Calls ResetAuthorizationCode. + * @function resetAuthorizationCode + * @memberof google.cloud.domains.v1beta1.Domains + * @instance + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest} request ResetAuthorizationCodeRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Domains; + })(); + + v1beta1.Registration = (function() { + + /** + * Properties of a Registration. + * @memberof google.cloud.domains.v1beta1 + * @interface IRegistration + * @property {string|null} [name] Registration name + * @property {string|null} [domainName] Registration domainName + * @property {google.protobuf.ITimestamp|null} [createTime] Registration createTime + * @property {google.protobuf.ITimestamp|null} [expireTime] Registration expireTime + * @property {google.cloud.domains.v1beta1.Registration.State|null} [state] Registration state + * @property {Array.|null} [issues] Registration issues + * @property {Object.|null} [labels] Registration labels + * @property {google.cloud.domains.v1beta1.IManagementSettings|null} [managementSettings] Registration managementSettings + * @property {google.cloud.domains.v1beta1.IDnsSettings|null} [dnsSettings] Registration dnsSettings + * @property {google.cloud.domains.v1beta1.IContactSettings|null} [contactSettings] Registration contactSettings + * @property {google.cloud.domains.v1beta1.IContactSettings|null} [pendingContactSettings] Registration pendingContactSettings + * @property {Array.|null} [supportedPrivacy] Registration supportedPrivacy + */ + + /** + * Constructs a new Registration. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a Registration. + * @implements IRegistration + * @constructor + * @param {google.cloud.domains.v1beta1.IRegistration=} [properties] Properties to set + */ + function Registration(properties) { + this.issues = []; + this.labels = {}; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Registration name. + * @member {string} name + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.name = ""; + + /** + * Registration domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.domainName = ""; + + /** + * Registration createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.createTime = null; + + /** + * Registration expireTime. + * @member {google.protobuf.ITimestamp|null|undefined} expireTime + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.expireTime = null; + + /** + * Registration state. + * @member {google.cloud.domains.v1beta1.Registration.State} state + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.state = 0; + + /** + * Registration issues. + * @member {Array.} issues + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.issues = $util.emptyArray; + + /** + * Registration labels. + * @member {Object.} labels + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.labels = $util.emptyObject; + + /** + * Registration managementSettings. + * @member {google.cloud.domains.v1beta1.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.managementSettings = null; + + /** + * Registration dnsSettings. + * @member {google.cloud.domains.v1beta1.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.dnsSettings = null; + + /** + * Registration contactSettings. + * @member {google.cloud.domains.v1beta1.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.contactSettings = null; + + /** + * Registration pendingContactSettings. + * @member {google.cloud.domains.v1beta1.IContactSettings|null|undefined} pendingContactSettings + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.pendingContactSettings = null; + + /** + * Registration supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + */ + Registration.prototype.supportedPrivacy = $util.emptyArray; + + /** + * Creates a new Registration instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {google.cloud.domains.v1beta1.IRegistration=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.Registration} Registration instance + */ + Registration.create = function create(properties) { + return new Registration(properties); + }; + + /** + * Encodes the specified Registration message. Does not implicitly {@link google.cloud.domains.v1beta1.Registration.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {google.cloud.domains.v1beta1.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.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.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.domainName); + if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.expireTime != null && Object.hasOwnProperty.call(message, "expireTime")) + $root.google.protobuf.Timestamp.encode(message.expireTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + if (message.state != null && Object.hasOwnProperty.call(message, "state")) + writer.uint32(/* id 7, wireType 0 =*/56).int32(message.state); + if (message.issues != null && message.issues.length) { + writer.uint32(/* id 8, wireType 2 =*/66).fork(); + for (var i = 0; i < message.issues.length; ++i) + writer.int32(message.issues[i]); + writer.ldelim(); + } + if (message.labels != null && Object.hasOwnProperty.call(message, "labels")) + for (var keys = Object.keys(message.labels), i = 0; i < keys.length; ++i) + writer.uint32(/* id 9, wireType 2 =*/74).fork().uint32(/* id 1, wireType 2 =*/10).string(keys[i]).uint32(/* id 2, wireType 2 =*/18).string(message.labels[keys[i]]).ldelim(); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1beta1.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 10, wireType 2 =*/82).fork()).ldelim(); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1beta1.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim(); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1beta1.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim(); + if (message.pendingContactSettings != null && Object.hasOwnProperty.call(message, "pendingContactSettings")) + $root.google.cloud.domains.v1beta1.ContactSettings.encode(message.pendingContactSettings, writer.uint32(/* id 13, wireType 2 =*/106).fork()).ldelim(); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 14, wireType 2 =*/114).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified Registration message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.Registration.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {google.cloud.domains.v1beta1.IRegistration} message Registration message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Registration.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Registration message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.Registration(), key, value; + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.domainName = reader.string(); + break; + } + case 3: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 6: { + message.expireTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 7: { + message.state = reader.int32(); + break; + } + case 8: { + if (!(message.issues && message.issues.length)) + message.issues = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.issues.push(reader.int32()); + } else + message.issues.push(reader.int32()); + break; + } + case 9: { + if (message.labels === $util.emptyObject) + message.labels = {}; + var end2 = reader.uint32() + reader.pos; + key = ""; + value = ""; + while (reader.pos < end2) { + var tag2 = reader.uint32(); + switch (tag2 >>> 3) { + case 1: + key = reader.string(); + break; + case 2: + value = reader.string(); + break; + default: + reader.skipType(tag2 & 7); + break; + } + } + message.labels[key] = value; + break; + } + case 10: { + message.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 11: { + message.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 12: { + message.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 13: { + message.pendingContactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 14: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Registration message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.Registration} Registration + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Registration.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Registration message. + * @function verify + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Registration.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.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.expireTime != null && message.hasOwnProperty("expireTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.expireTime); + if (error) + return "expireTime." + error; + } + if (message.state != null && message.hasOwnProperty("state")) + switch (message.state) { + default: + return "state: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 6: + case 7: + case 8: + break; + } + if (message.issues != null && message.hasOwnProperty("issues")) { + if (!Array.isArray(message.issues)) + return "issues: array expected"; + for (var i = 0; i < message.issues.length; ++i) + switch (message.issues[i]) { + default: + return "issues: enum value[] expected"; + case 0: + case 1: + case 2: + break; + } + } + if (message.labels != null && message.hasOwnProperty("labels")) { + if (!$util.isObject(message.labels)) + return "labels: object expected"; + var key = Object.keys(message.labels); + for (var i = 0; i < key.length; ++i) + if (!$util.isString(message.labels[key[i]])) + return "labels: string{k:string} expected"; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1beta1.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.verify(message.pendingContactSettings); + if (error) + return "pendingContactSettings." + error; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + return null; + }; + + /** + * Creates a Registration message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.Registration} Registration + */ + Registration.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.Registration) + return object; + var message = new $root.google.cloud.domains.v1beta1.Registration(); + if (object.name != null) + message.name = String(object.name); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.expireTime != null) { + if (typeof object.expireTime !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.expireTime: object expected"); + message.expireTime = $root.google.protobuf.Timestamp.fromObject(object.expireTime); + } + 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 "REGISTRATION_PENDING": + case 1: + message.state = 1; + break; + case "REGISTRATION_FAILED": + case 2: + message.state = 2; + break; + case "TRANSFER_PENDING": + case 3: + message.state = 3; + break; + case "TRANSFER_FAILED": + case 4: + message.state = 4; + break; + case "ACTIVE": + case 6: + message.state = 6; + break; + case "SUSPENDED": + case 7: + message.state = 7; + break; + case "EXPORTED": + case 8: + message.state = 8; + break; + } + if (object.issues) { + if (!Array.isArray(object.issues)) + throw TypeError(".google.cloud.domains.v1beta1.Registration.issues: array expected"); + message.issues = []; + for (var i = 0; i < object.issues.length; ++i) + switch (object.issues[i]) { + default: + if (typeof object.issues[i] === "number") { + message.issues[i] = object.issues[i]; + break; + } + case "ISSUE_UNSPECIFIED": + case 0: + message.issues[i] = 0; + break; + case "CONTACT_SUPPORT": + case 1: + message.issues[i] = 1; + break; + case "UNVERIFIED_EMAIL": + case 2: + message.issues[i] = 2; + break; + } + } + if (object.labels) { + if (typeof object.labels !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.labels: object expected"); + message.labels = {}; + for (var keys = Object.keys(object.labels), i = 0; i < keys.length; ++i) + message.labels[keys[i]] = String(object.labels[keys[i]]); + } + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.fromObject(object.managementSettings); + } + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.fromObject(object.dnsSettings); + } + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.fromObject(object.contactSettings); + } + if (object.pendingContactSettings != null) { + if (typeof object.pendingContactSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.Registration.pendingContactSettings: object expected"); + message.pendingContactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.fromObject(object.pendingContactSettings); + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1beta1.Registration.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a Registration message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {google.cloud.domains.v1beta1.Registration} message Registration + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Registration.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.issues = []; + object.supportedPrivacy = []; + } + if (options.objects || options.defaults) + object.labels = {}; + if (options.defaults) { + object.name = ""; + object.domainName = ""; + object.createTime = null; + object.expireTime = null; + object.state = options.enums === String ? "STATE_UNSPECIFIED" : 0; + object.managementSettings = null; + object.dnsSettings = null; + object.contactSettings = null; + object.pendingContactSettings = null; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.expireTime != null && message.hasOwnProperty("expireTime")) + object.expireTime = $root.google.protobuf.Timestamp.toObject(message.expireTime, options); + if (message.state != null && message.hasOwnProperty("state")) + object.state = options.enums === String ? $root.google.cloud.domains.v1beta1.Registration.State[message.state] === undefined ? message.state : $root.google.cloud.domains.v1beta1.Registration.State[message.state] : message.state; + if (message.issues && message.issues.length) { + object.issues = []; + for (var j = 0; j < message.issues.length; ++j) + object.issues[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.Registration.Issue[message.issues[j]] === undefined ? message.issues[j] : $root.google.cloud.domains.v1beta1.Registration.Issue[message.issues[j]] : message.issues[j]; + } + var keys2; + if (message.labels && (keys2 = Object.keys(message.labels)).length) { + object.labels = {}; + for (var j = 0; j < keys2.length; ++j) + object.labels[keys2[j]] = message.labels[keys2[j]]; + } + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.toObject(message.managementSettings, options); + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.toObject(message.dnsSettings, options); + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.toObject(message.contactSettings, options); + if (message.pendingContactSettings != null && message.hasOwnProperty("pendingContactSettings")) + object.pendingContactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.toObject(message.pendingContactSettings, options); + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + return object; + }; + + /** + * Converts this Registration to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.Registration + * @instance + * @returns {Object.} JSON object + */ + Registration.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Registration + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.Registration + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Registration.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.Registration"; + }; + + /** + * State enum. + * @name google.cloud.domains.v1beta1.Registration.State + * @enum {number} + * @property {number} STATE_UNSPECIFIED=0 STATE_UNSPECIFIED value + * @property {number} REGISTRATION_PENDING=1 REGISTRATION_PENDING value + * @property {number} REGISTRATION_FAILED=2 REGISTRATION_FAILED value + * @property {number} TRANSFER_PENDING=3 TRANSFER_PENDING value + * @property {number} TRANSFER_FAILED=4 TRANSFER_FAILED value + * @property {number} ACTIVE=6 ACTIVE value + * @property {number} SUSPENDED=7 SUSPENDED value + * @property {number} EXPORTED=8 EXPORTED value + */ + Registration.State = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "REGISTRATION_PENDING"] = 1; + values[valuesById[2] = "REGISTRATION_FAILED"] = 2; + values[valuesById[3] = "TRANSFER_PENDING"] = 3; + values[valuesById[4] = "TRANSFER_FAILED"] = 4; + values[valuesById[6] = "ACTIVE"] = 6; + values[valuesById[7] = "SUSPENDED"] = 7; + values[valuesById[8] = "EXPORTED"] = 8; + return values; + })(); + + /** + * Issue enum. + * @name google.cloud.domains.v1beta1.Registration.Issue + * @enum {number} + * @property {number} ISSUE_UNSPECIFIED=0 ISSUE_UNSPECIFIED value + * @property {number} CONTACT_SUPPORT=1 CONTACT_SUPPORT value + * @property {number} UNVERIFIED_EMAIL=2 UNVERIFIED_EMAIL value + */ + Registration.Issue = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ISSUE_UNSPECIFIED"] = 0; + values[valuesById[1] = "CONTACT_SUPPORT"] = 1; + values[valuesById[2] = "UNVERIFIED_EMAIL"] = 2; + return values; + })(); + + return Registration; + })(); + + v1beta1.ManagementSettings = (function() { + + /** + * Properties of a ManagementSettings. + * @memberof google.cloud.domains.v1beta1 + * @interface IManagementSettings + * @property {google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod|null} [renewalMethod] ManagementSettings renewalMethod + * @property {google.cloud.domains.v1beta1.TransferLockState|null} [transferLockState] ManagementSettings transferLockState + */ + + /** + * Constructs a new ManagementSettings. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ManagementSettings. + * @implements IManagementSettings + * @constructor + * @param {google.cloud.domains.v1beta1.IManagementSettings=} [properties] Properties to set + */ + function ManagementSettings(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]]; + } + + /** + * ManagementSettings renewalMethod. + * @member {google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod} renewalMethod + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @instance + */ + ManagementSettings.prototype.renewalMethod = 0; + + /** + * ManagementSettings transferLockState. + * @member {google.cloud.domains.v1beta1.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @instance + */ + ManagementSettings.prototype.transferLockState = 0; + + /** + * Creates a new ManagementSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {google.cloud.domains.v1beta1.IManagementSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ManagementSettings} ManagementSettings instance + */ + ManagementSettings.create = function create(properties) { + return new ManagementSettings(properties); + }; + + /** + * Encodes the specified ManagementSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.ManagementSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {google.cloud.domains.v1beta1.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.renewalMethod != null && Object.hasOwnProperty.call(message, "renewalMethod")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.renewalMethod); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + return writer; + }; + + /** + * Encodes the specified ManagementSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ManagementSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {google.cloud.domains.v1beta1.IManagementSettings} message ManagementSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ManagementSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ManagementSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 3: { + message.renewalMethod = reader.int32(); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ManagementSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ManagementSettings} ManagementSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ManagementSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ManagementSettings message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ManagementSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + switch (message.renewalMethod) { + default: + return "renewalMethod: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + return null; + }; + + /** + * Creates a ManagementSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ManagementSettings} ManagementSettings + */ + ManagementSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ManagementSettings) + return object; + var message = new $root.google.cloud.domains.v1beta1.ManagementSettings(); + switch (object.renewalMethod) { + default: + if (typeof object.renewalMethod === "number") { + message.renewalMethod = object.renewalMethod; + break; + } + break; + case "RENEWAL_METHOD_UNSPECIFIED": + case 0: + message.renewalMethod = 0; + break; + case "AUTOMATIC_RENEWAL": + case 1: + message.renewalMethod = 1; + break; + case "MANUAL_RENEWAL": + case 2: + message.renewalMethod = 2; + break; + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + return message; + }; + + /** + * Creates a plain object from a ManagementSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {google.cloud.domains.v1beta1.ManagementSettings} message ManagementSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ManagementSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.renewalMethod = options.enums === String ? "RENEWAL_METHOD_UNSPECIFIED" : 0; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + } + if (message.renewalMethod != null && message.hasOwnProperty("renewalMethod")) + object.renewalMethod = options.enums === String ? $root.google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod[message.renewalMethod] === undefined ? message.renewalMethod : $root.google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod[message.renewalMethod] : message.renewalMethod; + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1beta1.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1beta1.TransferLockState[message.transferLockState] : message.transferLockState; + return object; + }; + + /** + * Converts this ManagementSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @instance + * @returns {Object.} JSON object + */ + ManagementSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ManagementSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ManagementSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ManagementSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ManagementSettings"; + }; + + /** + * RenewalMethod enum. + * @name google.cloud.domains.v1beta1.ManagementSettings.RenewalMethod + * @enum {number} + * @property {number} RENEWAL_METHOD_UNSPECIFIED=0 RENEWAL_METHOD_UNSPECIFIED value + * @property {number} AUTOMATIC_RENEWAL=1 AUTOMATIC_RENEWAL value + * @property {number} MANUAL_RENEWAL=2 MANUAL_RENEWAL value + */ + ManagementSettings.RenewalMethod = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "RENEWAL_METHOD_UNSPECIFIED"] = 0; + values[valuesById[1] = "AUTOMATIC_RENEWAL"] = 1; + values[valuesById[2] = "MANUAL_RENEWAL"] = 2; + return values; + })(); + + return ManagementSettings; + })(); + + v1beta1.DnsSettings = (function() { + + /** + * Properties of a DnsSettings. + * @memberof google.cloud.domains.v1beta1 + * @interface IDnsSettings + * @property {google.cloud.domains.v1beta1.DnsSettings.ICustomDns|null} [customDns] DnsSettings customDns + * @property {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns|null} [googleDomainsDns] DnsSettings googleDomainsDns + * @property {Array.|null} [glueRecords] DnsSettings glueRecords + */ + + /** + * Constructs a new DnsSettings. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a DnsSettings. + * @implements IDnsSettings + * @constructor + * @param {google.cloud.domains.v1beta1.IDnsSettings=} [properties] Properties to set + */ + function DnsSettings(properties) { + this.glueRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * DnsSettings customDns. + * @member {google.cloud.domains.v1beta1.DnsSettings.ICustomDns|null|undefined} customDns + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @instance + */ + DnsSettings.prototype.customDns = null; + + /** + * DnsSettings googleDomainsDns. + * @member {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns|null|undefined} googleDomainsDns + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @instance + */ + DnsSettings.prototype.googleDomainsDns = null; + + /** + * DnsSettings glueRecords. + * @member {Array.} glueRecords + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @instance + */ + DnsSettings.prototype.glueRecords = $util.emptyArray; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * DnsSettings dnsProvider. + * @member {"customDns"|"googleDomainsDns"|undefined} dnsProvider + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @instance + */ + Object.defineProperty(DnsSettings.prototype, "dnsProvider", { + get: $util.oneOfGetter($oneOfFields = ["customDns", "googleDomainsDns"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new DnsSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {google.cloud.domains.v1beta1.IDnsSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DnsSettings} DnsSettings instance + */ + DnsSettings.create = function create(properties) { + return new DnsSettings(properties); + }; + + /** + * Encodes the specified DnsSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {google.cloud.domains.v1beta1.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.customDns != null && Object.hasOwnProperty.call(message, "customDns")) + $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns.encode(message.customDns, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.googleDomainsDns != null && Object.hasOwnProperty.call(message, "googleDomainsDns")) + $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.encode(message.googleDomainsDns, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.glueRecords != null && message.glueRecords.length) + for (var i = 0; i < message.glueRecords.length; ++i) + $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord.encode(message.glueRecords[i], writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified DnsSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {google.cloud.domains.v1beta1.IDnsSettings} message DnsSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DnsSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DnsSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.customDns = $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns.decode(reader, reader.uint32()); + break; + } + case 2: { + message.googleDomainsDns = $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.glueRecords && message.glueRecords.length)) + message.glueRecords = []; + message.glueRecords.push($root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DnsSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DnsSettings} DnsSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DnsSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DnsSettings message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DnsSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns.verify(message.customDns); + if (error) + return "customDns." + error; + } + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + if (properties.dnsProvider === 1) + return "dnsProvider: multiple values"; + properties.dnsProvider = 1; + { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.verify(message.googleDomainsDns); + if (error) + return "googleDomainsDns." + error; + } + } + if (message.glueRecords != null && message.hasOwnProperty("glueRecords")) { + if (!Array.isArray(message.glueRecords)) + return "glueRecords: array expected"; + for (var i = 0; i < message.glueRecords.length; ++i) { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord.verify(message.glueRecords[i]); + if (error) + return "glueRecords." + error; + } + } + return null; + }; + + /** + * Creates a DnsSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DnsSettings} DnsSettings + */ + DnsSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DnsSettings) + return object; + var message = new $root.google.cloud.domains.v1beta1.DnsSettings(); + if (object.customDns != null) { + if (typeof object.customDns !== "object") + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.customDns: object expected"); + message.customDns = $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns.fromObject(object.customDns); + } + if (object.googleDomainsDns != null) { + if (typeof object.googleDomainsDns !== "object") + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.googleDomainsDns: object expected"); + message.googleDomainsDns = $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.fromObject(object.googleDomainsDns); + } + if (object.glueRecords) { + if (!Array.isArray(object.glueRecords)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.glueRecords: array expected"); + message.glueRecords = []; + for (var i = 0; i < object.glueRecords.length; ++i) { + if (typeof object.glueRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.glueRecords: object expected"); + message.glueRecords[i] = $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord.fromObject(object.glueRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a DnsSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings} message DnsSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DnsSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.glueRecords = []; + if (message.customDns != null && message.hasOwnProperty("customDns")) { + object.customDns = $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns.toObject(message.customDns, options); + if (options.oneofs) + object.dnsProvider = "customDns"; + } + if (message.googleDomainsDns != null && message.hasOwnProperty("googleDomainsDns")) { + object.googleDomainsDns = $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.toObject(message.googleDomainsDns, options); + if (options.oneofs) + object.dnsProvider = "googleDomainsDns"; + } + if (message.glueRecords && message.glueRecords.length) { + object.glueRecords = []; + for (var j = 0; j < message.glueRecords.length; ++j) + object.glueRecords[j] = $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord.toObject(message.glueRecords[j], options); + } + return object; + }; + + /** + * Converts this DnsSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @instance + * @returns {Object.} JSON object + */ + DnsSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DnsSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DnsSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DnsSettings"; + }; + + DnsSettings.CustomDns = (function() { + + /** + * Properties of a CustomDns. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @interface ICustomDns + * @property {Array.|null} [nameServers] CustomDns nameServers + * @property {Array.|null} [dsRecords] CustomDns dsRecords + */ + + /** + * Constructs a new CustomDns. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @classdesc Represents a CustomDns. + * @implements ICustomDns + * @constructor + * @param {google.cloud.domains.v1beta1.DnsSettings.ICustomDns=} [properties] Properties to set + */ + function CustomDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * CustomDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.nameServers = $util.emptyArray; + + /** + * CustomDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @instance + */ + CustomDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new CustomDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.ICustomDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DnsSettings.CustomDns} CustomDns instance + */ + CustomDns.create = function create(properties) { + return new CustomDns(properties); + }; + + /** + * Encodes the specified CustomDns message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.CustomDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified CustomDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.CustomDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.ICustomDns} message CustomDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + CustomDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a CustomDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DnsSettings.CustomDns} CustomDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + CustomDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a CustomDns message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + CustomDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a CustomDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DnsSettings.CustomDns} CustomDns + */ + CustomDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns) + return object; + var message = new $root.google.cloud.domains.v1beta1.DnsSettings.CustomDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.CustomDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.CustomDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.CustomDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a CustomDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.CustomDns} message CustomDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + CustomDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this CustomDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @instance + * @returns {Object.} JSON object + */ + CustomDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for CustomDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DnsSettings.CustomDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + CustomDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DnsSettings.CustomDns"; + }; + + return CustomDns; + })(); + + DnsSettings.GoogleDomainsDns = (function() { + + /** + * Properties of a GoogleDomainsDns. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @interface IGoogleDomainsDns + * @property {Array.|null} [nameServers] GoogleDomainsDns nameServers + * @property {google.cloud.domains.v1beta1.DnsSettings.DsState|null} [dsState] GoogleDomainsDns dsState + * @property {Array.|null} [dsRecords] GoogleDomainsDns dsRecords + */ + + /** + * Constructs a new GoogleDomainsDns. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @classdesc Represents a GoogleDomainsDns. + * @implements IGoogleDomainsDns + * @constructor + * @param {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + */ + function GoogleDomainsDns(properties) { + this.nameServers = []; + this.dsRecords = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GoogleDomainsDns nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.nameServers = $util.emptyArray; + + /** + * GoogleDomainsDns dsState. + * @member {google.cloud.domains.v1beta1.DnsSettings.DsState} dsState + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsState = 0; + + /** + * GoogleDomainsDns dsRecords. + * @member {Array.} dsRecords + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @instance + */ + GoogleDomainsDns.prototype.dsRecords = $util.emptyArray; + + /** + * Creates a new GoogleDomainsDns instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns instance + */ + GoogleDomainsDns.create = function create(properties) { + return new GoogleDomainsDns(properties); + }; + + /** + * Encodes the specified GoogleDomainsDns message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.nameServers[i]); + if (message.dsState != null && Object.hasOwnProperty.call(message, "dsState")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.dsState); + if (message.dsRecords != null && message.dsRecords.length) + for (var i = 0; i < message.dsRecords.length; ++i) + $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.encode(message.dsRecords[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified GoogleDomainsDns message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGoogleDomainsDns} message GoogleDomainsDns message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GoogleDomainsDns.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 2: { + message.dsState = reader.int32(); + break; + } + case 3: { + if (!(message.dsRecords && message.dsRecords.length)) + message.dsRecords = []; + message.dsRecords.push($root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GoogleDomainsDns message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GoogleDomainsDns.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GoogleDomainsDns message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GoogleDomainsDns.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + switch (message.dsState) { + default: + return "dsState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.dsRecords != null && message.hasOwnProperty("dsRecords")) { + if (!Array.isArray(message.dsRecords)) + return "dsRecords: array expected"; + for (var i = 0; i < message.dsRecords.length; ++i) { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify(message.dsRecords[i]); + if (error) + return "dsRecords." + error; + } + } + return null; + }; + + /** + * Creates a GoogleDomainsDns message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns} GoogleDomainsDns + */ + GoogleDomainsDns.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns) + return object; + var message = new $root.google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns(); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.dsState) { + default: + if (typeof object.dsState === "number") { + message.dsState = object.dsState; + break; + } + break; + case "DS_STATE_UNSPECIFIED": + case 0: + message.dsState = 0; + break; + case "DS_RECORDS_UNPUBLISHED": + case 1: + message.dsState = 1; + break; + case "DS_RECORDS_PUBLISHED": + case 2: + message.dsState = 2; + break; + } + if (object.dsRecords) { + if (!Array.isArray(object.dsRecords)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.dsRecords: array expected"); + message.dsRecords = []; + for (var i = 0; i < object.dsRecords.length; ++i) { + if (typeof object.dsRecords[i] !== "object") + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns.dsRecords: object expected"); + message.dsRecords[i] = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.fromObject(object.dsRecords[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a GoogleDomainsDns message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns} message GoogleDomainsDns + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GoogleDomainsDns.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.dsRecords = []; + } + if (options.defaults) + object.dsState = options.enums === String ? "DS_STATE_UNSPECIFIED" : 0; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.dsState != null && message.hasOwnProperty("dsState")) + object.dsState = options.enums === String ? $root.google.cloud.domains.v1beta1.DnsSettings.DsState[message.dsState] === undefined ? message.dsState : $root.google.cloud.domains.v1beta1.DnsSettings.DsState[message.dsState] : message.dsState; + if (message.dsRecords && message.dsRecords.length) { + object.dsRecords = []; + for (var j = 0; j < message.dsRecords.length; ++j) + object.dsRecords[j] = $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.toObject(message.dsRecords[j], options); + } + return object; + }; + + /** + * Converts this GoogleDomainsDns to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @instance + * @returns {Object.} JSON object + */ + GoogleDomainsDns.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GoogleDomainsDns + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GoogleDomainsDns.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DnsSettings.GoogleDomainsDns"; + }; + + return GoogleDomainsDns; + })(); + + DnsSettings.DsRecord = (function() { + + /** + * Properties of a DsRecord. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @interface IDsRecord + * @property {number|null} [keyTag] DsRecord keyTag + * @property {google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm|null} [algorithm] DsRecord algorithm + * @property {google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType|null} [digestType] DsRecord digestType + * @property {string|null} [digest] DsRecord digest + */ + + /** + * Constructs a new DsRecord. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @classdesc Represents a DsRecord. + * @implements IDsRecord + * @constructor + * @param {google.cloud.domains.v1beta1.DnsSettings.IDsRecord=} [properties] Properties to set + */ + function DsRecord(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]]; + } + + /** + * DsRecord keyTag. + * @member {number} keyTag + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.keyTag = 0; + + /** + * DsRecord algorithm. + * @member {google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm} algorithm + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.algorithm = 0; + + /** + * DsRecord digestType. + * @member {google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType} digestType + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digestType = 0; + + /** + * DsRecord digest. + * @member {string} digest + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @instance + */ + DsRecord.prototype.digest = ""; + + /** + * Creates a new DsRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IDsRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DnsSettings.DsRecord} DsRecord instance + */ + DsRecord.create = function create(properties) { + return new DsRecord(properties); + }; + + /** + * Encodes the specified DsRecord message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.keyTag != null && Object.hasOwnProperty.call(message, "keyTag")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.keyTag); + if (message.algorithm != null && Object.hasOwnProperty.call(message, "algorithm")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.algorithm); + if (message.digestType != null && Object.hasOwnProperty.call(message, "digestType")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.digestType); + if (message.digest != null && Object.hasOwnProperty.call(message, "digest")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.digest); + return writer; + }; + + /** + * Encodes the specified DsRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.DsRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IDsRecord} message DsRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DsRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.keyTag = reader.int32(); + break; + } + case 2: { + message.algorithm = reader.int32(); + break; + } + case 3: { + message.digestType = reader.int32(); + break; + } + case 4: { + message.digest = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a DsRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DnsSettings.DsRecord} DsRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DsRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DsRecord message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DsRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + if (!$util.isInteger(message.keyTag)) + return "keyTag: integer expected"; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + switch (message.algorithm) { + default: + return "algorithm: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + case 8: + case 10: + case 12: + case 13: + case 14: + case 15: + case 16: + case 252: + case 253: + case 254: + break; + } + if (message.digestType != null && message.hasOwnProperty("digestType")) + switch (message.digestType) { + default: + return "digestType: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.digest != null && message.hasOwnProperty("digest")) + if (!$util.isString(message.digest)) + return "digest: string expected"; + return null; + }; + + /** + * Creates a DsRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DnsSettings.DsRecord} DsRecord + */ + DsRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord) + return object; + var message = new $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord(); + if (object.keyTag != null) + message.keyTag = object.keyTag | 0; + switch (object.algorithm) { + default: + if (typeof object.algorithm === "number") { + message.algorithm = object.algorithm; + break; + } + break; + case "ALGORITHM_UNSPECIFIED": + case 0: + message.algorithm = 0; + break; + case "RSAMD5": + case 1: + message.algorithm = 1; + break; + case "DH": + case 2: + message.algorithm = 2; + break; + case "DSA": + case 3: + message.algorithm = 3; + break; + case "ECC": + case 4: + message.algorithm = 4; + break; + case "RSASHA1": + case 5: + message.algorithm = 5; + break; + case "DSANSEC3SHA1": + case 6: + message.algorithm = 6; + break; + case "RSASHA1NSEC3SHA1": + case 7: + message.algorithm = 7; + break; + case "RSASHA256": + case 8: + message.algorithm = 8; + break; + case "RSASHA512": + case 10: + message.algorithm = 10; + break; + case "ECCGOST": + case 12: + message.algorithm = 12; + break; + case "ECDSAP256SHA256": + case 13: + message.algorithm = 13; + break; + case "ECDSAP384SHA384": + case 14: + message.algorithm = 14; + break; + case "ED25519": + case 15: + message.algorithm = 15; + break; + case "ED448": + case 16: + message.algorithm = 16; + break; + case "INDIRECT": + case 252: + message.algorithm = 252; + break; + case "PRIVATEDNS": + case 253: + message.algorithm = 253; + break; + case "PRIVATEOID": + case 254: + message.algorithm = 254; + break; + } + switch (object.digestType) { + default: + if (typeof object.digestType === "number") { + message.digestType = object.digestType; + break; + } + break; + case "DIGEST_TYPE_UNSPECIFIED": + case 0: + message.digestType = 0; + break; + case "SHA1": + case 1: + message.digestType = 1; + break; + case "SHA256": + case 2: + message.digestType = 2; + break; + case "GOST3411": + case 3: + message.digestType = 3; + break; + case "SHA384": + case 4: + message.digestType = 4; + break; + } + if (object.digest != null) + message.digest = String(object.digest); + return message; + }; + + /** + * Creates a plain object from a DsRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.DsRecord} message DsRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DsRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.keyTag = 0; + object.algorithm = options.enums === String ? "ALGORITHM_UNSPECIFIED" : 0; + object.digestType = options.enums === String ? "DIGEST_TYPE_UNSPECIFIED" : 0; + object.digest = ""; + } + if (message.keyTag != null && message.hasOwnProperty("keyTag")) + object.keyTag = message.keyTag; + if (message.algorithm != null && message.hasOwnProperty("algorithm")) + object.algorithm = options.enums === String ? $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm[message.algorithm] === undefined ? message.algorithm : $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm[message.algorithm] : message.algorithm; + if (message.digestType != null && message.hasOwnProperty("digestType")) + object.digestType = options.enums === String ? $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType[message.digestType] === undefined ? message.digestType : $root.google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType[message.digestType] : message.digestType; + if (message.digest != null && message.hasOwnProperty("digest")) + object.digest = message.digest; + return object; + }; + + /** + * Converts this DsRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @instance + * @returns {Object.} JSON object + */ + DsRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DsRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DnsSettings.DsRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DsRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DnsSettings.DsRecord"; + }; + + /** + * Algorithm enum. + * @name google.cloud.domains.v1beta1.DnsSettings.DsRecord.Algorithm + * @enum {number} + * @property {number} ALGORITHM_UNSPECIFIED=0 ALGORITHM_UNSPECIFIED value + * @property {number} RSAMD5=1 RSAMD5 value + * @property {number} DH=2 DH value + * @property {number} DSA=3 DSA value + * @property {number} ECC=4 ECC value + * @property {number} RSASHA1=5 RSASHA1 value + * @property {number} DSANSEC3SHA1=6 DSANSEC3SHA1 value + * @property {number} RSASHA1NSEC3SHA1=7 RSASHA1NSEC3SHA1 value + * @property {number} RSASHA256=8 RSASHA256 value + * @property {number} RSASHA512=10 RSASHA512 value + * @property {number} ECCGOST=12 ECCGOST value + * @property {number} ECDSAP256SHA256=13 ECDSAP256SHA256 value + * @property {number} ECDSAP384SHA384=14 ECDSAP384SHA384 value + * @property {number} ED25519=15 ED25519 value + * @property {number} ED448=16 ED448 value + * @property {number} INDIRECT=252 INDIRECT value + * @property {number} PRIVATEDNS=253 PRIVATEDNS value + * @property {number} PRIVATEOID=254 PRIVATEOID value + */ + DsRecord.Algorithm = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "ALGORITHM_UNSPECIFIED"] = 0; + values[valuesById[1] = "RSAMD5"] = 1; + values[valuesById[2] = "DH"] = 2; + values[valuesById[3] = "DSA"] = 3; + values[valuesById[4] = "ECC"] = 4; + values[valuesById[5] = "RSASHA1"] = 5; + values[valuesById[6] = "DSANSEC3SHA1"] = 6; + values[valuesById[7] = "RSASHA1NSEC3SHA1"] = 7; + values[valuesById[8] = "RSASHA256"] = 8; + values[valuesById[10] = "RSASHA512"] = 10; + values[valuesById[12] = "ECCGOST"] = 12; + values[valuesById[13] = "ECDSAP256SHA256"] = 13; + values[valuesById[14] = "ECDSAP384SHA384"] = 14; + values[valuesById[15] = "ED25519"] = 15; + values[valuesById[16] = "ED448"] = 16; + values[valuesById[252] = "INDIRECT"] = 252; + values[valuesById[253] = "PRIVATEDNS"] = 253; + values[valuesById[254] = "PRIVATEOID"] = 254; + return values; + })(); + + /** + * DigestType enum. + * @name google.cloud.domains.v1beta1.DnsSettings.DsRecord.DigestType + * @enum {number} + * @property {number} DIGEST_TYPE_UNSPECIFIED=0 DIGEST_TYPE_UNSPECIFIED value + * @property {number} SHA1=1 SHA1 value + * @property {number} SHA256=2 SHA256 value + * @property {number} GOST3411=3 GOST3411 value + * @property {number} SHA384=4 SHA384 value + */ + DsRecord.DigestType = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DIGEST_TYPE_UNSPECIFIED"] = 0; + values[valuesById[1] = "SHA1"] = 1; + values[valuesById[2] = "SHA256"] = 2; + values[valuesById[3] = "GOST3411"] = 3; + values[valuesById[4] = "SHA384"] = 4; + return values; + })(); + + return DsRecord; + })(); + + DnsSettings.GlueRecord = (function() { + + /** + * Properties of a GlueRecord. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @interface IGlueRecord + * @property {string|null} [hostName] GlueRecord hostName + * @property {Array.|null} [ipv4Addresses] GlueRecord ipv4Addresses + * @property {Array.|null} [ipv6Addresses] GlueRecord ipv6Addresses + */ + + /** + * Constructs a new GlueRecord. + * @memberof google.cloud.domains.v1beta1.DnsSettings + * @classdesc Represents a GlueRecord. + * @implements IGlueRecord + * @constructor + * @param {google.cloud.domains.v1beta1.DnsSettings.IGlueRecord=} [properties] Properties to set + */ + function GlueRecord(properties) { + this.ipv4Addresses = []; + this.ipv6Addresses = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * GlueRecord hostName. + * @member {string} hostName + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.hostName = ""; + + /** + * GlueRecord ipv4Addresses. + * @member {Array.} ipv4Addresses + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv4Addresses = $util.emptyArray; + + /** + * GlueRecord ipv6Addresses. + * @member {Array.} ipv6Addresses + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @instance + */ + GlueRecord.prototype.ipv6Addresses = $util.emptyArray; + + /** + * Creates a new GlueRecord instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGlueRecord=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DnsSettings.GlueRecord} GlueRecord instance + */ + GlueRecord.create = function create(properties) { + return new GlueRecord(properties); + }; + + /** + * Encodes the specified GlueRecord message. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GlueRecord.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.hostName != null && Object.hasOwnProperty.call(message, "hostName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.hostName); + if (message.ipv4Addresses != null && message.ipv4Addresses.length) + for (var i = 0; i < message.ipv4Addresses.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.ipv4Addresses[i]); + if (message.ipv6Addresses != null && message.ipv6Addresses.length) + for (var i = 0; i < message.ipv6Addresses.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.ipv6Addresses[i]); + return writer; + }; + + /** + * Encodes the specified GlueRecord message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DnsSettings.GlueRecord.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.IGlueRecord} message GlueRecord message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GlueRecord.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.hostName = reader.string(); + break; + } + case 2: { + if (!(message.ipv4Addresses && message.ipv4Addresses.length)) + message.ipv4Addresses = []; + message.ipv4Addresses.push(reader.string()); + break; + } + case 3: { + if (!(message.ipv6Addresses && message.ipv6Addresses.length)) + message.ipv6Addresses = []; + message.ipv6Addresses.push(reader.string()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a GlueRecord message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DnsSettings.GlueRecord} GlueRecord + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GlueRecord.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GlueRecord message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GlueRecord.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.hostName != null && message.hasOwnProperty("hostName")) + if (!$util.isString(message.hostName)) + return "hostName: string expected"; + if (message.ipv4Addresses != null && message.hasOwnProperty("ipv4Addresses")) { + if (!Array.isArray(message.ipv4Addresses)) + return "ipv4Addresses: array expected"; + for (var i = 0; i < message.ipv4Addresses.length; ++i) + if (!$util.isString(message.ipv4Addresses[i])) + return "ipv4Addresses: string[] expected"; + } + if (message.ipv6Addresses != null && message.hasOwnProperty("ipv6Addresses")) { + if (!Array.isArray(message.ipv6Addresses)) + return "ipv6Addresses: array expected"; + for (var i = 0; i < message.ipv6Addresses.length; ++i) + if (!$util.isString(message.ipv6Addresses[i])) + return "ipv6Addresses: string[] expected"; + } + return null; + }; + + /** + * Creates a GlueRecord message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DnsSettings.GlueRecord} GlueRecord + */ + GlueRecord.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord) + return object; + var message = new $root.google.cloud.domains.v1beta1.DnsSettings.GlueRecord(); + if (object.hostName != null) + message.hostName = String(object.hostName); + if (object.ipv4Addresses) { + if (!Array.isArray(object.ipv4Addresses)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.GlueRecord.ipv4Addresses: array expected"); + message.ipv4Addresses = []; + for (var i = 0; i < object.ipv4Addresses.length; ++i) + message.ipv4Addresses[i] = String(object.ipv4Addresses[i]); + } + if (object.ipv6Addresses) { + if (!Array.isArray(object.ipv6Addresses)) + throw TypeError(".google.cloud.domains.v1beta1.DnsSettings.GlueRecord.ipv6Addresses: array expected"); + message.ipv6Addresses = []; + for (var i = 0; i < object.ipv6Addresses.length; ++i) + message.ipv6Addresses[i] = String(object.ipv6Addresses[i]); + } + return message; + }; + + /** + * Creates a plain object from a GlueRecord message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {google.cloud.domains.v1beta1.DnsSettings.GlueRecord} message GlueRecord + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GlueRecord.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.ipv4Addresses = []; + object.ipv6Addresses = []; + } + if (options.defaults) + object.hostName = ""; + if (message.hostName != null && message.hasOwnProperty("hostName")) + object.hostName = message.hostName; + if (message.ipv4Addresses && message.ipv4Addresses.length) { + object.ipv4Addresses = []; + for (var j = 0; j < message.ipv4Addresses.length; ++j) + object.ipv4Addresses[j] = message.ipv4Addresses[j]; + } + if (message.ipv6Addresses && message.ipv6Addresses.length) { + object.ipv6Addresses = []; + for (var j = 0; j < message.ipv6Addresses.length; ++j) + object.ipv6Addresses[j] = message.ipv6Addresses[j]; + } + return object; + }; + + /** + * Converts this GlueRecord to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @instance + * @returns {Object.} JSON object + */ + GlueRecord.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GlueRecord + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DnsSettings.GlueRecord + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GlueRecord.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DnsSettings.GlueRecord"; + }; + + return GlueRecord; + })(); + + /** + * DsState enum. + * @name google.cloud.domains.v1beta1.DnsSettings.DsState + * @enum {number} + * @property {number} DS_STATE_UNSPECIFIED=0 DS_STATE_UNSPECIFIED value + * @property {number} DS_RECORDS_UNPUBLISHED=1 DS_RECORDS_UNPUBLISHED value + * @property {number} DS_RECORDS_PUBLISHED=2 DS_RECORDS_PUBLISHED value + */ + DnsSettings.DsState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DS_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DS_RECORDS_UNPUBLISHED"] = 1; + values[valuesById[2] = "DS_RECORDS_PUBLISHED"] = 2; + return values; + })(); + + return DnsSettings; + })(); + + v1beta1.ContactSettings = (function() { + + /** + * Properties of a ContactSettings. + * @memberof google.cloud.domains.v1beta1 + * @interface IContactSettings + * @property {google.cloud.domains.v1beta1.ContactPrivacy|null} [privacy] ContactSettings privacy + * @property {google.cloud.domains.v1beta1.ContactSettings.IContact|null} [registrantContact] ContactSettings registrantContact + * @property {google.cloud.domains.v1beta1.ContactSettings.IContact|null} [adminContact] ContactSettings adminContact + * @property {google.cloud.domains.v1beta1.ContactSettings.IContact|null} [technicalContact] ContactSettings technicalContact + */ + + /** + * Constructs a new ContactSettings. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ContactSettings. + * @implements IContactSettings + * @constructor + * @param {google.cloud.domains.v1beta1.IContactSettings=} [properties] Properties to set + */ + function ContactSettings(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]]; + } + + /** + * ContactSettings privacy. + * @member {google.cloud.domains.v1beta1.ContactPrivacy} privacy + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @instance + */ + ContactSettings.prototype.privacy = 0; + + /** + * ContactSettings registrantContact. + * @member {google.cloud.domains.v1beta1.ContactSettings.IContact|null|undefined} registrantContact + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @instance + */ + ContactSettings.prototype.registrantContact = null; + + /** + * ContactSettings adminContact. + * @member {google.cloud.domains.v1beta1.ContactSettings.IContact|null|undefined} adminContact + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @instance + */ + ContactSettings.prototype.adminContact = null; + + /** + * ContactSettings technicalContact. + * @member {google.cloud.domains.v1beta1.ContactSettings.IContact|null|undefined} technicalContact + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @instance + */ + ContactSettings.prototype.technicalContact = null; + + /** + * Creates a new ContactSettings instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {google.cloud.domains.v1beta1.IContactSettings=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ContactSettings} ContactSettings instance + */ + ContactSettings.create = function create(properties) { + return new ContactSettings(properties); + }; + + /** + * Encodes the specified ContactSettings message. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {google.cloud.domains.v1beta1.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.privacy != null && Object.hasOwnProperty.call(message, "privacy")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.privacy); + if (message.registrantContact != null && Object.hasOwnProperty.call(message, "registrantContact")) + $root.google.cloud.domains.v1beta1.ContactSettings.Contact.encode(message.registrantContact, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.adminContact != null && Object.hasOwnProperty.call(message, "adminContact")) + $root.google.cloud.domains.v1beta1.ContactSettings.Contact.encode(message.adminContact, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.technicalContact != null && Object.hasOwnProperty.call(message, "technicalContact")) + $root.google.cloud.domains.v1beta1.ContactSettings.Contact.encode(message.technicalContact, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ContactSettings message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {google.cloud.domains.v1beta1.IContactSettings} message ContactSettings message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ContactSettings.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ContactSettings(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.privacy = reader.int32(); + break; + } + case 2: { + message.registrantContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 3: { + message.adminContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + case 4: { + message.technicalContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ContactSettings message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ContactSettings} ContactSettings + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ContactSettings.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ContactSettings message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ContactSettings.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.privacy != null && message.hasOwnProperty("privacy")) + switch (message.privacy) { + default: + return "privacy: enum value expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.verify(message.registrantContact); + if (error) + return "registrantContact." + error; + } + if (message.adminContact != null && message.hasOwnProperty("adminContact")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.verify(message.adminContact); + if (error) + return "adminContact." + error; + } + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.verify(message.technicalContact); + if (error) + return "technicalContact." + error; + } + return null; + }; + + /** + * Creates a ContactSettings message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ContactSettings} ContactSettings + */ + ContactSettings.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ContactSettings) + return object; + var message = new $root.google.cloud.domains.v1beta1.ContactSettings(); + switch (object.privacy) { + default: + if (typeof object.privacy === "number") { + message.privacy = object.privacy; + break; + } + break; + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.privacy = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.privacy = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.privacy = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.privacy = 3; + break; + } + if (object.registrantContact != null) { + if (typeof object.registrantContact !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ContactSettings.registrantContact: object expected"); + message.registrantContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.fromObject(object.registrantContact); + } + if (object.adminContact != null) { + if (typeof object.adminContact !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ContactSettings.adminContact: object expected"); + message.adminContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.fromObject(object.adminContact); + } + if (object.technicalContact != null) { + if (typeof object.technicalContact !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ContactSettings.technicalContact: object expected"); + message.technicalContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.fromObject(object.technicalContact); + } + return message; + }; + + /** + * Creates a plain object from a ContactSettings message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {google.cloud.domains.v1beta1.ContactSettings} message ContactSettings + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ContactSettings.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.privacy = options.enums === String ? "CONTACT_PRIVACY_UNSPECIFIED" : 0; + object.registrantContact = null; + object.adminContact = null; + object.technicalContact = null; + } + if (message.privacy != null && message.hasOwnProperty("privacy")) + object.privacy = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactPrivacy[message.privacy] === undefined ? message.privacy : $root.google.cloud.domains.v1beta1.ContactPrivacy[message.privacy] : message.privacy; + if (message.registrantContact != null && message.hasOwnProperty("registrantContact")) + object.registrantContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.toObject(message.registrantContact, options); + if (message.adminContact != null && message.hasOwnProperty("adminContact")) + object.adminContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.toObject(message.adminContact, options); + if (message.technicalContact != null && message.hasOwnProperty("technicalContact")) + object.technicalContact = $root.google.cloud.domains.v1beta1.ContactSettings.Contact.toObject(message.technicalContact, options); + return object; + }; + + /** + * Converts this ContactSettings to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @instance + * @returns {Object.} JSON object + */ + ContactSettings.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ContactSettings + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ContactSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ContactSettings"; + }; + + ContactSettings.Contact = (function() { + + /** + * Properties of a Contact. + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @interface IContact + * @property {google.type.IPostalAddress|null} [postalAddress] Contact postalAddress + * @property {string|null} [email] Contact email + * @property {string|null} [phoneNumber] Contact phoneNumber + * @property {string|null} [faxNumber] Contact faxNumber + */ + + /** + * Constructs a new Contact. + * @memberof google.cloud.domains.v1beta1.ContactSettings + * @classdesc Represents a Contact. + * @implements IContact + * @constructor + * @param {google.cloud.domains.v1beta1.ContactSettings.IContact=} [properties] Properties to set + */ + function Contact(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]]; + } + + /** + * Contact postalAddress. + * @member {google.type.IPostalAddress|null|undefined} postalAddress + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @instance + */ + Contact.prototype.postalAddress = null; + + /** + * Contact email. + * @member {string} email + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @instance + */ + Contact.prototype.email = ""; + + /** + * Contact phoneNumber. + * @member {string} phoneNumber + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @instance + */ + Contact.prototype.phoneNumber = ""; + + /** + * Contact faxNumber. + * @member {string} faxNumber + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @instance + */ + Contact.prototype.faxNumber = ""; + + /** + * Creates a new Contact instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1beta1.ContactSettings.IContact=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ContactSettings.Contact} Contact instance + */ + Contact.create = function create(properties) { + return new Contact(properties); + }; + + /** + * Encodes the specified Contact message. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.Contact.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1beta1.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.postalAddress != null && Object.hasOwnProperty.call(message, "postalAddress")) + $root.google.type.PostalAddress.encode(message.postalAddress, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.email != null && Object.hasOwnProperty.call(message, "email")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.email); + if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.phoneNumber); + if (message.faxNumber != null && Object.hasOwnProperty.call(message, "faxNumber")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.faxNumber); + return writer; + }; + + /** + * Encodes the specified Contact message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ContactSettings.Contact.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1beta1.ContactSettings.IContact} message Contact message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Contact.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Contact message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ContactSettings.Contact(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.postalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32()); + break; + } + case 2: { + message.email = reader.string(); + break; + } + case 3: { + message.phoneNumber = reader.string(); + break; + } + case 4: { + message.faxNumber = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Contact message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ContactSettings.Contact} Contact + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Contact.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Contact message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Contact.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) { + var error = $root.google.type.PostalAddress.verify(message.postalAddress); + if (error) + return "postalAddress." + error; + } + if (message.email != null && message.hasOwnProperty("email")) + if (!$util.isString(message.email)) + return "email: string expected"; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + if (!$util.isString(message.phoneNumber)) + return "phoneNumber: string expected"; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + if (!$util.isString(message.faxNumber)) + return "faxNumber: string expected"; + return null; + }; + + /** + * Creates a Contact message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ContactSettings.Contact} Contact + */ + Contact.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ContactSettings.Contact) + return object; + var message = new $root.google.cloud.domains.v1beta1.ContactSettings.Contact(); + if (object.postalAddress != null) { + if (typeof object.postalAddress !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ContactSettings.Contact.postalAddress: object expected"); + message.postalAddress = $root.google.type.PostalAddress.fromObject(object.postalAddress); + } + if (object.email != null) + message.email = String(object.email); + if (object.phoneNumber != null) + message.phoneNumber = String(object.phoneNumber); + if (object.faxNumber != null) + message.faxNumber = String(object.faxNumber); + return message; + }; + + /** + * Creates a plain object from a Contact message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {google.cloud.domains.v1beta1.ContactSettings.Contact} message Contact + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Contact.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.postalAddress = null; + object.email = ""; + object.phoneNumber = ""; + object.faxNumber = ""; + } + if (message.postalAddress != null && message.hasOwnProperty("postalAddress")) + object.postalAddress = $root.google.type.PostalAddress.toObject(message.postalAddress, options); + if (message.email != null && message.hasOwnProperty("email")) + object.email = message.email; + if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber")) + object.phoneNumber = message.phoneNumber; + if (message.faxNumber != null && message.hasOwnProperty("faxNumber")) + object.faxNumber = message.faxNumber; + return object; + }; + + /** + * Converts this Contact to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @instance + * @returns {Object.} JSON object + */ + Contact.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Contact + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ContactSettings.Contact + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Contact.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ContactSettings.Contact"; + }; + + return Contact; + })(); + + return ContactSettings; + })(); + + v1beta1.SearchDomainsRequest = (function() { + + /** + * Properties of a SearchDomainsRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface ISearchDomainsRequest + * @property {string|null} [query] SearchDomainsRequest query + * @property {string|null} [location] SearchDomainsRequest location + */ + + /** + * Constructs a new SearchDomainsRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a SearchDomainsRequest. + * @implements ISearchDomainsRequest + * @constructor + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest=} [properties] Properties to set + */ + function SearchDomainsRequest(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]]; + } + + /** + * SearchDomainsRequest query. + * @member {string} query + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.query = ""; + + /** + * SearchDomainsRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @instance + */ + SearchDomainsRequest.prototype.location = ""; + + /** + * Creates a new SearchDomainsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.SearchDomainsRequest} SearchDomainsRequest instance + */ + SearchDomainsRequest.create = function create(properties) { + return new SearchDomainsRequest(properties); + }; + + /** + * Encodes the specified SearchDomainsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.query != null && Object.hasOwnProperty.call(message, "query")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.query); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified SearchDomainsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsRequest} message SearchDomainsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.SearchDomainsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.query = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.SearchDomainsRequest} SearchDomainsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.query != null && message.hasOwnProperty("query")) + if (!$util.isString(message.query)) + return "query: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a SearchDomainsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.SearchDomainsRequest} SearchDomainsRequest + */ + SearchDomainsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.SearchDomainsRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.SearchDomainsRequest(); + if (object.query != null) + message.query = String(object.query); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a SearchDomainsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {google.cloud.domains.v1beta1.SearchDomainsRequest} message SearchDomainsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.query = ""; + object.location = ""; + } + if (message.query != null && message.hasOwnProperty("query")) + object.query = message.query; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this SearchDomainsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.SearchDomainsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.SearchDomainsRequest"; + }; + + return SearchDomainsRequest; + })(); + + v1beta1.SearchDomainsResponse = (function() { + + /** + * Properties of a SearchDomainsResponse. + * @memberof google.cloud.domains.v1beta1 + * @interface ISearchDomainsResponse + * @property {Array.|null} [registerParameters] SearchDomainsResponse registerParameters + */ + + /** + * Constructs a new SearchDomainsResponse. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a SearchDomainsResponse. + * @implements ISearchDomainsResponse + * @constructor + * @param {google.cloud.domains.v1beta1.ISearchDomainsResponse=} [properties] Properties to set + */ + function SearchDomainsResponse(properties) { + this.registerParameters = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * SearchDomainsResponse registerParameters. + * @member {Array.} registerParameters + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @instance + */ + SearchDomainsResponse.prototype.registerParameters = $util.emptyArray; + + /** + * Creates a new SearchDomainsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.SearchDomainsResponse} SearchDomainsResponse instance + */ + SearchDomainsResponse.create = function create(properties) { + return new SearchDomainsResponse(properties); + }; + + /** + * Encodes the specified SearchDomainsResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && message.registerParameters.length) + for (var i = 0; i < message.registerParameters.length; ++i) + $root.google.cloud.domains.v1beta1.RegisterParameters.encode(message.registerParameters[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified SearchDomainsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.SearchDomainsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1beta1.ISearchDomainsResponse} message SearchDomainsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + SearchDomainsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.SearchDomainsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registerParameters && message.registerParameters.length)) + message.registerParameters = []; + message.registerParameters.push($root.google.cloud.domains.v1beta1.RegisterParameters.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a SearchDomainsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.SearchDomainsResponse} SearchDomainsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + SearchDomainsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a SearchDomainsResponse message. + * @function verify + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + SearchDomainsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + if (!Array.isArray(message.registerParameters)) + return "registerParameters: array expected"; + for (var i = 0; i < message.registerParameters.length; ++i) { + var error = $root.google.cloud.domains.v1beta1.RegisterParameters.verify(message.registerParameters[i]); + if (error) + return "registerParameters." + error; + } + } + return null; + }; + + /** + * Creates a SearchDomainsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.SearchDomainsResponse} SearchDomainsResponse + */ + SearchDomainsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.SearchDomainsResponse) + return object; + var message = new $root.google.cloud.domains.v1beta1.SearchDomainsResponse(); + if (object.registerParameters) { + if (!Array.isArray(object.registerParameters)) + throw TypeError(".google.cloud.domains.v1beta1.SearchDomainsResponse.registerParameters: array expected"); + message.registerParameters = []; + for (var i = 0; i < object.registerParameters.length; ++i) { + if (typeof object.registerParameters[i] !== "object") + throw TypeError(".google.cloud.domains.v1beta1.SearchDomainsResponse.registerParameters: object expected"); + message.registerParameters[i] = $root.google.cloud.domains.v1beta1.RegisterParameters.fromObject(object.registerParameters[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a SearchDomainsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {google.cloud.domains.v1beta1.SearchDomainsResponse} message SearchDomainsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + SearchDomainsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registerParameters = []; + if (message.registerParameters && message.registerParameters.length) { + object.registerParameters = []; + for (var j = 0; j < message.registerParameters.length; ++j) + object.registerParameters[j] = $root.google.cloud.domains.v1beta1.RegisterParameters.toObject(message.registerParameters[j], options); + } + return object; + }; + + /** + * Converts this SearchDomainsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @instance + * @returns {Object.} JSON object + */ + SearchDomainsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for SearchDomainsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.SearchDomainsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + SearchDomainsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.SearchDomainsResponse"; + }; + + return SearchDomainsResponse; + })(); + + v1beta1.RetrieveRegisterParametersRequest = (function() { + + /** + * Properties of a RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IRetrieveRegisterParametersRequest + * @property {string|null} [domainName] RetrieveRegisterParametersRequest domainName + * @property {string|null} [location] RetrieveRegisterParametersRequest location + */ + + /** + * Constructs a new RetrieveRegisterParametersRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RetrieveRegisterParametersRequest. + * @implements IRetrieveRegisterParametersRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest=} [properties] Properties to set + */ + function RetrieveRegisterParametersRequest(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]]; + } + + /** + * RetrieveRegisterParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.domainName = ""; + + /** + * RetrieveRegisterParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @instance + */ + RetrieveRegisterParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveRegisterParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest instance + */ + RetrieveRegisterParametersRequest.create = function create(properties) { + return new RetrieveRegisterParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveRegisterParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest} RetrieveRegisterParametersRequest + */ + RetrieveRegisterParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest} message RetrieveRegisterParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveRegisterParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest"; + }; + + return RetrieveRegisterParametersRequest; + })(); + + v1beta1.RetrieveRegisterParametersResponse = (function() { + + /** + * Properties of a RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1beta1 + * @interface IRetrieveRegisterParametersResponse + * @property {google.cloud.domains.v1beta1.IRegisterParameters|null} [registerParameters] RetrieveRegisterParametersResponse registerParameters + */ + + /** + * Constructs a new RetrieveRegisterParametersResponse. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RetrieveRegisterParametersResponse. + * @implements IRetrieveRegisterParametersResponse + * @constructor + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse=} [properties] Properties to set + */ + function RetrieveRegisterParametersResponse(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]]; + } + + /** + * RetrieveRegisterParametersResponse registerParameters. + * @member {google.cloud.domains.v1beta1.IRegisterParameters|null|undefined} registerParameters + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @instance + */ + RetrieveRegisterParametersResponse.prototype.registerParameters = null; + + /** + * Creates a new RetrieveRegisterParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse instance + */ + RetrieveRegisterParametersResponse.create = function create(properties) { + return new RetrieveRegisterParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registerParameters != null && Object.hasOwnProperty.call(message, "registerParameters")) + $root.google.cloud.domains.v1beta1.RegisterParameters.encode(message.registerParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveRegisterParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveRegisterParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registerParameters = $root.google.cloud.domains.v1beta1.RegisterParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveRegisterParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveRegisterParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveRegisterParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveRegisterParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) { + var error = $root.google.cloud.domains.v1beta1.RegisterParameters.verify(message.registerParameters); + if (error) + return "registerParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveRegisterParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} RetrieveRegisterParametersResponse + */ + RetrieveRegisterParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse(); + if (object.registerParameters != null) { + if (typeof object.registerParameters !== "object") + throw TypeError(".google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse.registerParameters: object expected"); + message.registerParameters = $root.google.cloud.domains.v1beta1.RegisterParameters.fromObject(object.registerParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveRegisterParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse} message RetrieveRegisterParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveRegisterParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registerParameters = null; + if (message.registerParameters != null && message.hasOwnProperty("registerParameters")) + object.registerParameters = $root.google.cloud.domains.v1beta1.RegisterParameters.toObject(message.registerParameters, options); + return object; + }; + + /** + * Converts this RetrieveRegisterParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveRegisterParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveRegisterParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveRegisterParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse"; + }; + + return RetrieveRegisterParametersResponse; + })(); + + v1beta1.RegisterDomainRequest = (function() { + + /** + * Properties of a RegisterDomainRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IRegisterDomainRequest + * @property {string|null} [parent] RegisterDomainRequest parent + * @property {google.cloud.domains.v1beta1.IRegistration|null} [registration] RegisterDomainRequest registration + * @property {Array.|null} [domainNotices] RegisterDomainRequest domainNotices + * @property {Array.|null} [contactNotices] RegisterDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterDomainRequest yearlyPrice + * @property {boolean|null} [validateOnly] RegisterDomainRequest validateOnly + */ + + /** + * Constructs a new RegisterDomainRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RegisterDomainRequest. + * @implements IRegisterDomainRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest=} [properties] Properties to set + */ + function RegisterDomainRequest(properties) { + this.domainNotices = []; + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.parent = ""; + + /** + * RegisterDomainRequest registration. + * @member {google.cloud.domains.v1beta1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.registration = null; + + /** + * RegisterDomainRequest domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * RegisterDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.yearlyPrice = null; + + /** + * RegisterDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + */ + RegisterDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new RegisterDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RegisterDomainRequest} RegisterDomainRequest instance + */ + RegisterDomainRequest.create = function create(properties) { + return new RegisterDomainRequest(properties); + }; + + /** + * Encodes the specified RegisterDomainRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1beta1.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified RegisterDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.IRegisterDomainRequest} message RegisterDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RegisterDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1beta1.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RegisterDomainRequest} RegisterDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1beta1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a RegisterDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RegisterDomainRequest} RegisterDomainRequest + */ + RegisterDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RegisterDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.RegisterDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1beta1.RegisterDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1beta1.Registration.fromObject(object.registration); + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1beta1.RegisterDomainRequest.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1beta1.RegisterDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1beta1.RegisterDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a RegisterDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.RegisterDomainRequest} message RegisterDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.domainNotices = []; + object.contactNotices = []; + } + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1beta1.Registration.toObject(message.registration, options); + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1beta1.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this RegisterDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @instance + * @returns {Object.} JSON object + */ + RegisterDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RegisterDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RegisterDomainRequest"; + }; + + return RegisterDomainRequest; + })(); + + v1beta1.RetrieveTransferParametersRequest = (function() { + + /** + * Properties of a RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IRetrieveTransferParametersRequest + * @property {string|null} [domainName] RetrieveTransferParametersRequest domainName + * @property {string|null} [location] RetrieveTransferParametersRequest location + */ + + /** + * Constructs a new RetrieveTransferParametersRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RetrieveTransferParametersRequest. + * @implements IRetrieveTransferParametersRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest=} [properties] Properties to set + */ + function RetrieveTransferParametersRequest(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]]; + } + + /** + * RetrieveTransferParametersRequest domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.domainName = ""; + + /** + * RetrieveTransferParametersRequest location. + * @member {string} location + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @instance + */ + RetrieveTransferParametersRequest.prototype.location = ""; + + /** + * Creates a new RetrieveTransferParametersRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest instance + */ + RetrieveTransferParametersRequest.create = function create(properties) { + return new RetrieveTransferParametersRequest(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.location != null && Object.hasOwnProperty.call(message, "location")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.location); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest} message RetrieveTransferParametersRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.location = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.location != null && message.hasOwnProperty("location")) + if (!$util.isString(message.location)) + return "location: string expected"; + return null; + }; + + /** + * Creates a RetrieveTransferParametersRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersRequest} RetrieveTransferParametersRequest + */ + RetrieveTransferParametersRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.location != null) + message.location = String(object.location); + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {google.cloud.domains.v1beta1.RetrieveTransferParametersRequest} message RetrieveTransferParametersRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.domainName = ""; + object.location = ""; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.location != null && message.hasOwnProperty("location")) + object.location = message.location; + return object; + }; + + /** + * Converts this RetrieveTransferParametersRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RetrieveTransferParametersRequest"; + }; + + return RetrieveTransferParametersRequest; + })(); + + v1beta1.RetrieveTransferParametersResponse = (function() { + + /** + * Properties of a RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1beta1 + * @interface IRetrieveTransferParametersResponse + * @property {google.cloud.domains.v1beta1.ITransferParameters|null} [transferParameters] RetrieveTransferParametersResponse transferParameters + */ + + /** + * Constructs a new RetrieveTransferParametersResponse. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RetrieveTransferParametersResponse. + * @implements IRetrieveTransferParametersResponse + * @constructor + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse=} [properties] Properties to set + */ + function RetrieveTransferParametersResponse(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]]; + } + + /** + * RetrieveTransferParametersResponse transferParameters. + * @member {google.cloud.domains.v1beta1.ITransferParameters|null|undefined} transferParameters + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @instance + */ + RetrieveTransferParametersResponse.prototype.transferParameters = null; + + /** + * Creates a new RetrieveTransferParametersResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse instance + */ + RetrieveTransferParametersResponse.create = function create(properties) { + return new RetrieveTransferParametersResponse(properties); + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.transferParameters != null && Object.hasOwnProperty.call(message, "transferParameters")) + $root.google.cloud.domains.v1beta1.TransferParameters.encode(message.transferParameters, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RetrieveTransferParametersResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveTransferParametersResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse} message RetrieveTransferParametersResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveTransferParametersResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.transferParameters = $root.google.cloud.domains.v1beta1.TransferParameters.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveTransferParametersResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveTransferParametersResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveTransferParametersResponse message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveTransferParametersResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) { + var error = $root.google.cloud.domains.v1beta1.TransferParameters.verify(message.transferParameters); + if (error) + return "transferParameters." + error; + } + return null; + }; + + /** + * Creates a RetrieveTransferParametersResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} RetrieveTransferParametersResponse + */ + RetrieveTransferParametersResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse) + return object; + var message = new $root.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse(); + if (object.transferParameters != null) { + if (typeof object.transferParameters !== "object") + throw TypeError(".google.cloud.domains.v1beta1.RetrieveTransferParametersResponse.transferParameters: object expected"); + message.transferParameters = $root.google.cloud.domains.v1beta1.TransferParameters.fromObject(object.transferParameters); + } + return message; + }; + + /** + * Creates a plain object from a RetrieveTransferParametersResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {google.cloud.domains.v1beta1.RetrieveTransferParametersResponse} message RetrieveTransferParametersResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveTransferParametersResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.transferParameters = null; + if (message.transferParameters != null && message.hasOwnProperty("transferParameters")) + object.transferParameters = $root.google.cloud.domains.v1beta1.TransferParameters.toObject(message.transferParameters, options); + return object; + }; + + /** + * Converts this RetrieveTransferParametersResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @instance + * @returns {Object.} JSON object + */ + RetrieveTransferParametersResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveTransferParametersResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RetrieveTransferParametersResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveTransferParametersResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RetrieveTransferParametersResponse"; + }; + + return RetrieveTransferParametersResponse; + })(); + + v1beta1.TransferDomainRequest = (function() { + + /** + * Properties of a TransferDomainRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface ITransferDomainRequest + * @property {string|null} [parent] TransferDomainRequest parent + * @property {google.cloud.domains.v1beta1.IRegistration|null} [registration] TransferDomainRequest registration + * @property {Array.|null} [contactNotices] TransferDomainRequest contactNotices + * @property {google.type.IMoney|null} [yearlyPrice] TransferDomainRequest yearlyPrice + * @property {google.cloud.domains.v1beta1.IAuthorizationCode|null} [authorizationCode] TransferDomainRequest authorizationCode + * @property {boolean|null} [validateOnly] TransferDomainRequest validateOnly + */ + + /** + * Constructs a new TransferDomainRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a TransferDomainRequest. + * @implements ITransferDomainRequest + * @constructor + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest=} [properties] Properties to set + */ + function TransferDomainRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferDomainRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.parent = ""; + + /** + * TransferDomainRequest registration. + * @member {google.cloud.domains.v1beta1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.registration = null; + + /** + * TransferDomainRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.contactNotices = $util.emptyArray; + + /** + * TransferDomainRequest yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.yearlyPrice = null; + + /** + * TransferDomainRequest authorizationCode. + * @member {google.cloud.domains.v1beta1.IAuthorizationCode|null|undefined} authorizationCode + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.authorizationCode = null; + + /** + * TransferDomainRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + */ + TransferDomainRequest.prototype.validateOnly = false; + + /** + * Creates a new TransferDomainRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.TransferDomainRequest} TransferDomainRequest instance + */ + TransferDomainRequest.create = function create(properties) { + return new TransferDomainRequest(properties); + }; + + /** + * Encodes the specified TransferDomainRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.TransferDomainRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.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.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1beta1.Registration.encode(message.registration, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.authorizationCode != null && Object.hasOwnProperty.call(message, "authorizationCode")) + $root.google.cloud.domains.v1beta1.AuthorizationCode.encode(message.authorizationCode, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 6, wireType 0 =*/48).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified TransferDomainRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.TransferDomainRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.ITransferDomainRequest} message TransferDomainRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferDomainRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.TransferDomainRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.parent = reader.string(); + break; + } + case 2: { + message.registration = $root.google.cloud.domains.v1beta1.Registration.decode(reader, reader.uint32()); + break; + } + case 3: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 4: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + case 5: { + message.authorizationCode = $root.google.cloud.domains.v1beta1.AuthorizationCode.decode(reader, reader.uint32()); + break; + } + case 6: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferDomainRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.TransferDomainRequest} TransferDomainRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferDomainRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferDomainRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferDomainRequest.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.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1beta1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) { + var error = $root.google.cloud.domains.v1beta1.AuthorizationCode.verify(message.authorizationCode); + if (error) + return "authorizationCode." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a TransferDomainRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.TransferDomainRequest} TransferDomainRequest + */ + TransferDomainRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.TransferDomainRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.TransferDomainRequest(); + if (object.parent != null) + message.parent = String(object.parent); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1beta1.TransferDomainRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1beta1.Registration.fromObject(object.registration); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1beta1.TransferDomainRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1beta1.TransferDomainRequest.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + if (object.authorizationCode != null) { + if (typeof object.authorizationCode !== "object") + throw TypeError(".google.cloud.domains.v1beta1.TransferDomainRequest.authorizationCode: object expected"); + message.authorizationCode = $root.google.cloud.domains.v1beta1.AuthorizationCode.fromObject(object.authorizationCode); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a TransferDomainRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {google.cloud.domains.v1beta1.TransferDomainRequest} message TransferDomainRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferDomainRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.parent = ""; + object.registration = null; + object.yearlyPrice = null; + object.authorizationCode = null; + object.validateOnly = false; + } + if (message.parent != null && message.hasOwnProperty("parent")) + object.parent = message.parent; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1beta1.Registration.toObject(message.registration, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + if (message.authorizationCode != null && message.hasOwnProperty("authorizationCode")) + object.authorizationCode = $root.google.cloud.domains.v1beta1.AuthorizationCode.toObject(message.authorizationCode, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this TransferDomainRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @instance + * @returns {Object.} JSON object + */ + TransferDomainRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferDomainRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.TransferDomainRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferDomainRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.TransferDomainRequest"; + }; + + return TransferDomainRequest; + })(); + + v1beta1.ListRegistrationsRequest = (function() { + + /** + * Properties of a ListRegistrationsRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IListRegistrationsRequest + * @property {string|null} [parent] ListRegistrationsRequest parent + * @property {number|null} [pageSize] ListRegistrationsRequest pageSize + * @property {string|null} [pageToken] ListRegistrationsRequest pageToken + * @property {string|null} [filter] ListRegistrationsRequest filter + */ + + /** + * Constructs a new ListRegistrationsRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ListRegistrationsRequest. + * @implements IListRegistrationsRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest=} [properties] Properties to set + */ + function ListRegistrationsRequest(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]]; + } + + /** + * ListRegistrationsRequest parent. + * @member {string} parent + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.parent = ""; + + /** + * ListRegistrationsRequest pageSize. + * @member {number} pageSize + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageSize = 0; + + /** + * ListRegistrationsRequest pageToken. + * @member {string} pageToken + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.pageToken = ""; + + /** + * ListRegistrationsRequest filter. + * @member {string} filter + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @instance + */ + ListRegistrationsRequest.prototype.filter = ""; + + /** + * Creates a new ListRegistrationsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ListRegistrationsRequest} ListRegistrationsRequest instance + */ + ListRegistrationsRequest.create = function create(properties) { + return new ListRegistrationsRequest(properties); + }; + + /** + * Encodes the specified ListRegistrationsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsRequest} message ListRegistrationsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ListRegistrationsRequest} ListRegistrationsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsRequest.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 ListRegistrationsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ListRegistrationsRequest} ListRegistrationsRequest + */ + ListRegistrationsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ListRegistrationsRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ListRegistrationsRequest(); + 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 ListRegistrationsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {google.cloud.domains.v1beta1.ListRegistrationsRequest} message ListRegistrationsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsRequest.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 ListRegistrationsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ListRegistrationsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ListRegistrationsRequest"; + }; + + return ListRegistrationsRequest; + })(); + + v1beta1.ListRegistrationsResponse = (function() { + + /** + * Properties of a ListRegistrationsResponse. + * @memberof google.cloud.domains.v1beta1 + * @interface IListRegistrationsResponse + * @property {Array.|null} [registrations] ListRegistrationsResponse registrations + * @property {string|null} [nextPageToken] ListRegistrationsResponse nextPageToken + */ + + /** + * Constructs a new ListRegistrationsResponse. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ListRegistrationsResponse. + * @implements IListRegistrationsResponse + * @constructor + * @param {google.cloud.domains.v1beta1.IListRegistrationsResponse=} [properties] Properties to set + */ + function ListRegistrationsResponse(properties) { + this.registrations = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ListRegistrationsResponse registrations. + * @member {Array.} registrations + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.registrations = $util.emptyArray; + + /** + * ListRegistrationsResponse nextPageToken. + * @member {string} nextPageToken + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @instance + */ + ListRegistrationsResponse.prototype.nextPageToken = ""; + + /** + * Creates a new ListRegistrationsResponse instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsResponse=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ListRegistrationsResponse} ListRegistrationsResponse instance + */ + ListRegistrationsResponse.create = function create(properties) { + return new ListRegistrationsResponse(properties); + }; + + /** + * Encodes the specified ListRegistrationsResponse message. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsResponse.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registrations != null && message.registrations.length) + for (var i = 0; i < message.registrations.length; ++i) + $root.google.cloud.domains.v1beta1.Registration.encode(message.registrations[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 ListRegistrationsResponse message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ListRegistrationsResponse.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1beta1.IListRegistrationsResponse} message ListRegistrationsResponse message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ListRegistrationsResponse.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ListRegistrationsResponse(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.registrations && message.registrations.length)) + message.registrations = []; + message.registrations.push($root.google.cloud.domains.v1beta1.Registration.decode(reader, reader.uint32())); + break; + } + case 2: { + message.nextPageToken = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ListRegistrationsResponse message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ListRegistrationsResponse} ListRegistrationsResponse + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ListRegistrationsResponse.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ListRegistrationsResponse message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ListRegistrationsResponse.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registrations != null && message.hasOwnProperty("registrations")) { + if (!Array.isArray(message.registrations)) + return "registrations: array expected"; + for (var i = 0; i < message.registrations.length; ++i) { + var error = $root.google.cloud.domains.v1beta1.Registration.verify(message.registrations[i]); + if (error) + return "registrations." + error; + } + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + if (!$util.isString(message.nextPageToken)) + return "nextPageToken: string expected"; + return null; + }; + + /** + * Creates a ListRegistrationsResponse message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ListRegistrationsResponse} ListRegistrationsResponse + */ + ListRegistrationsResponse.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ListRegistrationsResponse) + return object; + var message = new $root.google.cloud.domains.v1beta1.ListRegistrationsResponse(); + if (object.registrations) { + if (!Array.isArray(object.registrations)) + throw TypeError(".google.cloud.domains.v1beta1.ListRegistrationsResponse.registrations: array expected"); + message.registrations = []; + for (var i = 0; i < object.registrations.length; ++i) { + if (typeof object.registrations[i] !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ListRegistrationsResponse.registrations: object expected"); + message.registrations[i] = $root.google.cloud.domains.v1beta1.Registration.fromObject(object.registrations[i]); + } + } + if (object.nextPageToken != null) + message.nextPageToken = String(object.nextPageToken); + return message; + }; + + /** + * Creates a plain object from a ListRegistrationsResponse message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {google.cloud.domains.v1beta1.ListRegistrationsResponse} message ListRegistrationsResponse + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ListRegistrationsResponse.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.registrations = []; + if (options.defaults) + object.nextPageToken = ""; + if (message.registrations && message.registrations.length) { + object.registrations = []; + for (var j = 0; j < message.registrations.length; ++j) + object.registrations[j] = $root.google.cloud.domains.v1beta1.Registration.toObject(message.registrations[j], options); + } + if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken")) + object.nextPageToken = message.nextPageToken; + return object; + }; + + /** + * Converts this ListRegistrationsResponse to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @instance + * @returns {Object.} JSON object + */ + ListRegistrationsResponse.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ListRegistrationsResponse + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ListRegistrationsResponse + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ListRegistrationsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ListRegistrationsResponse"; + }; + + return ListRegistrationsResponse; + })(); + + v1beta1.GetRegistrationRequest = (function() { + + /** + * Properties of a GetRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IGetRegistrationRequest + * @property {string|null} [name] GetRegistrationRequest name + */ + + /** + * Constructs a new GetRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a GetRegistrationRequest. + * @implements IGetRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest=} [properties] Properties to set + */ + function GetRegistrationRequest(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]]; + } + + /** + * GetRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @instance + */ + GetRegistrationRequest.prototype.name = ""; + + /** + * Creates a new GetRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.GetRegistrationRequest} GetRegistrationRequest instance + */ + GetRegistrationRequest.create = function create(properties) { + return new GetRegistrationRequest(properties); + }; + + /** + * Encodes the specified GetRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.GetRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.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 GetRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.GetRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IGetRegistrationRequest} message GetRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + GetRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a GetRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.GetRegistrationRequest(); + 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 GetRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.GetRegistrationRequest} GetRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + GetRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a GetRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + GetRegistrationRequest.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 GetRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.GetRegistrationRequest} GetRegistrationRequest + */ + GetRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.GetRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.GetRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a GetRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.GetRegistrationRequest} message GetRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + GetRegistrationRequest.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 GetRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + GetRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for GetRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.GetRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + GetRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.GetRegistrationRequest"; + }; + + return GetRegistrationRequest; + })(); + + v1beta1.UpdateRegistrationRequest = (function() { + + /** + * Properties of an UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IUpdateRegistrationRequest + * @property {google.cloud.domains.v1beta1.IRegistration|null} [registration] UpdateRegistrationRequest registration + * @property {google.protobuf.IFieldMask|null} [updateMask] UpdateRegistrationRequest updateMask + */ + + /** + * Constructs a new UpdateRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents an UpdateRegistrationRequest. + * @implements IUpdateRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest=} [properties] Properties to set + */ + function UpdateRegistrationRequest(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]]; + } + + /** + * UpdateRegistrationRequest registration. + * @member {google.cloud.domains.v1beta1.IRegistration|null|undefined} registration + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.registration = null; + + /** + * UpdateRegistrationRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @instance + */ + UpdateRegistrationRequest.prototype.updateMask = null; + + /** + * Creates a new UpdateRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.UpdateRegistrationRequest} UpdateRegistrationRequest instance + */ + UpdateRegistrationRequest.create = function create(properties) { + return new UpdateRegistrationRequest(properties); + }; + + /** + * Encodes the specified UpdateRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.UpdateRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + $root.google.cloud.domains.v1beta1.Registration.encode(message.registration, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified UpdateRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.UpdateRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IUpdateRegistrationRequest} message UpdateRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + UpdateRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.UpdateRegistrationRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = $root.google.cloud.domains.v1beta1.Registration.decode(reader, reader.uint32()); + break; + } + case 2: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an UpdateRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.UpdateRegistrationRequest} UpdateRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + UpdateRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an UpdateRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + UpdateRegistrationRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) { + var error = $root.google.cloud.domains.v1beta1.Registration.verify(message.registration); + if (error) + return "registration." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates an UpdateRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.UpdateRegistrationRequest} UpdateRegistrationRequest + */ + UpdateRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.UpdateRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.UpdateRegistrationRequest(); + if (object.registration != null) { + if (typeof object.registration !== "object") + throw TypeError(".google.cloud.domains.v1beta1.UpdateRegistrationRequest.registration: object expected"); + message.registration = $root.google.cloud.domains.v1beta1.Registration.fromObject(object.registration); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1beta1.UpdateRegistrationRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from an UpdateRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.UpdateRegistrationRequest} message UpdateRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + UpdateRegistrationRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = $root.google.cloud.domains.v1beta1.Registration.toObject(message.registration, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this UpdateRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + UpdateRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for UpdateRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.UpdateRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + UpdateRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.UpdateRegistrationRequest"; + }; + + return UpdateRegistrationRequest; + })(); + + v1beta1.ConfigureManagementSettingsRequest = (function() { + + /** + * Properties of a ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IConfigureManagementSettingsRequest + * @property {string|null} [registration] ConfigureManagementSettingsRequest registration + * @property {google.cloud.domains.v1beta1.IManagementSettings|null} [managementSettings] ConfigureManagementSettingsRequest managementSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureManagementSettingsRequest updateMask + */ + + /** + * Constructs a new ConfigureManagementSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ConfigureManagementSettingsRequest. + * @implements IConfigureManagementSettingsRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest=} [properties] Properties to set + */ + function ConfigureManagementSettingsRequest(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]]; + } + + /** + * ConfigureManagementSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.registration = ""; + + /** + * ConfigureManagementSettingsRequest managementSettings. + * @member {google.cloud.domains.v1beta1.IManagementSettings|null|undefined} managementSettings + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.managementSettings = null; + + /** + * ConfigureManagementSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @instance + */ + ConfigureManagementSettingsRequest.prototype.updateMask = null; + + /** + * Creates a new ConfigureManagementSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest instance + */ + ConfigureManagementSettingsRequest.create = function create(properties) { + return new ConfigureManagementSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.managementSettings != null && Object.hasOwnProperty.call(message, "managementSettings")) + $root.google.cloud.domains.v1beta1.ManagementSettings.encode(message.managementSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified ConfigureManagementSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureManagementSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureManagementSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureManagementSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureManagementSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureManagementSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) { + var error = $root.google.cloud.domains.v1beta1.ManagementSettings.verify(message.managementSettings); + if (error) + return "managementSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + return null; + }; + + /** + * Creates a ConfigureManagementSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest} ConfigureManagementSettingsRequest + */ + ConfigureManagementSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.managementSettings != null) { + if (typeof object.managementSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.managementSettings: object expected"); + message.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.fromObject(object.managementSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + return message; + }; + + /** + * Creates a plain object from a ConfigureManagementSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest} message ConfigureManagementSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureManagementSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.managementSettings = null; + object.updateMask = null; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.managementSettings != null && message.hasOwnProperty("managementSettings")) + object.managementSettings = $root.google.cloud.domains.v1beta1.ManagementSettings.toObject(message.managementSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + return object; + }; + + /** + * Converts this ConfigureManagementSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureManagementSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureManagementSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureManagementSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest"; + }; + + return ConfigureManagementSettingsRequest; + })(); + + v1beta1.ConfigureDnsSettingsRequest = (function() { + + /** + * Properties of a ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IConfigureDnsSettingsRequest + * @property {string|null} [registration] ConfigureDnsSettingsRequest registration + * @property {google.cloud.domains.v1beta1.IDnsSettings|null} [dnsSettings] ConfigureDnsSettingsRequest dnsSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureDnsSettingsRequest updateMask + * @property {boolean|null} [validateOnly] ConfigureDnsSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureDnsSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ConfigureDnsSettingsRequest. + * @implements IConfigureDnsSettingsRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest=} [properties] Properties to set + */ + function ConfigureDnsSettingsRequest(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]]; + } + + /** + * ConfigureDnsSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.registration = ""; + + /** + * ConfigureDnsSettingsRequest dnsSettings. + * @member {google.cloud.domains.v1beta1.IDnsSettings|null|undefined} dnsSettings + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.dnsSettings = null; + + /** + * ConfigureDnsSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureDnsSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @instance + */ + ConfigureDnsSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureDnsSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest instance + */ + ConfigureDnsSettingsRequest.create = function create(properties) { + return new ConfigureDnsSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.dnsSettings != null && Object.hasOwnProperty.call(message, "dnsSettings")) + $root.google.cloud.domains.v1beta1.DnsSettings.encode(message.dnsSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 4, wireType 0 =*/32).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureDnsSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureDnsSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureDnsSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureDnsSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureDnsSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureDnsSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) { + var error = $root.google.cloud.domains.v1beta1.DnsSettings.verify(message.dnsSettings); + if (error) + return "dnsSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureDnsSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest} ConfigureDnsSettingsRequest + */ + ConfigureDnsSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.dnsSettings != null) { + if (typeof object.dnsSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.dnsSettings: object expected"); + message.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.fromObject(object.dnsSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureDnsSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest} message ConfigureDnsSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureDnsSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.registration = ""; + object.dnsSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.dnsSettings != null && message.hasOwnProperty("dnsSettings")) + object.dnsSettings = $root.google.cloud.domains.v1beta1.DnsSettings.toObject(message.dnsSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureDnsSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureDnsSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureDnsSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureDnsSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest"; + }; + + return ConfigureDnsSettingsRequest; + })(); + + v1beta1.ConfigureContactSettingsRequest = (function() { + + /** + * Properties of a ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IConfigureContactSettingsRequest + * @property {string|null} [registration] ConfigureContactSettingsRequest registration + * @property {google.cloud.domains.v1beta1.IContactSettings|null} [contactSettings] ConfigureContactSettingsRequest contactSettings + * @property {google.protobuf.IFieldMask|null} [updateMask] ConfigureContactSettingsRequest updateMask + * @property {Array.|null} [contactNotices] ConfigureContactSettingsRequest contactNotices + * @property {boolean|null} [validateOnly] ConfigureContactSettingsRequest validateOnly + */ + + /** + * Constructs a new ConfigureContactSettingsRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ConfigureContactSettingsRequest. + * @implements IConfigureContactSettingsRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest=} [properties] Properties to set + */ + function ConfigureContactSettingsRequest(properties) { + this.contactNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ConfigureContactSettingsRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.registration = ""; + + /** + * ConfigureContactSettingsRequest contactSettings. + * @member {google.cloud.domains.v1beta1.IContactSettings|null|undefined} contactSettings + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactSettings = null; + + /** + * ConfigureContactSettingsRequest updateMask. + * @member {google.protobuf.IFieldMask|null|undefined} updateMask + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.updateMask = null; + + /** + * ConfigureContactSettingsRequest contactNotices. + * @member {Array.} contactNotices + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.contactNotices = $util.emptyArray; + + /** + * ConfigureContactSettingsRequest validateOnly. + * @member {boolean} validateOnly + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + */ + ConfigureContactSettingsRequest.prototype.validateOnly = false; + + /** + * Creates a new ConfigureContactSettingsRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest instance + */ + ConfigureContactSettingsRequest.create = function create(properties) { + return new ConfigureContactSettingsRequest(properties); + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + if (message.contactSettings != null && Object.hasOwnProperty.call(message, "contactSettings")) + $root.google.cloud.domains.v1beta1.ContactSettings.encode(message.contactSettings, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.updateMask != null && Object.hasOwnProperty.call(message, "updateMask")) + $root.google.protobuf.FieldMask.encode(message.updateMask, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim(); + if (message.contactNotices != null && message.contactNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.contactNotices.length; ++i) + writer.int32(message.contactNotices[i]); + writer.ldelim(); + } + if (message.validateOnly != null && Object.hasOwnProperty.call(message, "validateOnly")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.validateOnly); + return writer; + }; + + /** + * Encodes the specified ConfigureContactSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.IConfigureContactSettingsRequest} message ConfigureContactSettingsRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ConfigureContactSettingsRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + case 2: { + message.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.decode(reader, reader.uint32()); + break; + } + case 3: { + message.updateMask = $root.google.protobuf.FieldMask.decode(reader, reader.uint32()); + break; + } + case 4: { + if (!(message.contactNotices && message.contactNotices.length)) + message.contactNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.contactNotices.push(reader.int32()); + } else + message.contactNotices.push(reader.int32()); + break; + } + case 5: { + message.validateOnly = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ConfigureContactSettingsRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ConfigureContactSettingsRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ConfigureContactSettingsRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ConfigureContactSettingsRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) { + var error = $root.google.cloud.domains.v1beta1.ContactSettings.verify(message.contactSettings); + if (error) + return "contactSettings." + error; + } + if (message.updateMask != null && message.hasOwnProperty("updateMask")) { + var error = $root.google.protobuf.FieldMask.verify(message.updateMask); + if (error) + return "updateMask." + error; + } + if (message.contactNotices != null && message.hasOwnProperty("contactNotices")) { + if (!Array.isArray(message.contactNotices)) + return "contactNotices: array expected"; + for (var i = 0; i < message.contactNotices.length; ++i) + switch (message.contactNotices[i]) { + default: + return "contactNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + if (typeof message.validateOnly !== "boolean") + return "validateOnly: boolean expected"; + return null; + }; + + /** + * Creates a ConfigureContactSettingsRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ConfigureContactSettingsRequest} ConfigureContactSettingsRequest + */ + ConfigureContactSettingsRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest(); + if (object.registration != null) + message.registration = String(object.registration); + if (object.contactSettings != null) { + if (typeof object.contactSettings !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.contactSettings: object expected"); + message.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.fromObject(object.contactSettings); + } + if (object.updateMask != null) { + if (typeof object.updateMask !== "object") + throw TypeError(".google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.updateMask: object expected"); + message.updateMask = $root.google.protobuf.FieldMask.fromObject(object.updateMask); + } + if (object.contactNotices) { + if (!Array.isArray(object.contactNotices)) + throw TypeError(".google.cloud.domains.v1beta1.ConfigureContactSettingsRequest.contactNotices: array expected"); + message.contactNotices = []; + for (var i = 0; i < object.contactNotices.length; ++i) + switch (object.contactNotices[i]) { + default: + if (typeof object.contactNotices[i] === "number") { + message.contactNotices[i] = object.contactNotices[i]; + break; + } + case "CONTACT_NOTICE_UNSPECIFIED": + case 0: + message.contactNotices[i] = 0; + break; + case "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": + case 1: + message.contactNotices[i] = 1; + break; + } + } + if (object.validateOnly != null) + message.validateOnly = Boolean(object.validateOnly); + return message; + }; + + /** + * Creates a plain object from a ConfigureContactSettingsRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {google.cloud.domains.v1beta1.ConfigureContactSettingsRequest} message ConfigureContactSettingsRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ConfigureContactSettingsRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.contactNotices = []; + if (options.defaults) { + object.registration = ""; + object.contactSettings = null; + object.updateMask = null; + object.validateOnly = false; + } + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + if (message.contactSettings != null && message.hasOwnProperty("contactSettings")) + object.contactSettings = $root.google.cloud.domains.v1beta1.ContactSettings.toObject(message.contactSettings, options); + if (message.updateMask != null && message.hasOwnProperty("updateMask")) + object.updateMask = $root.google.protobuf.FieldMask.toObject(message.updateMask, options); + if (message.contactNotices && message.contactNotices.length) { + object.contactNotices = []; + for (var j = 0; j < message.contactNotices.length; ++j) + object.contactNotices[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] === undefined ? message.contactNotices[j] : $root.google.cloud.domains.v1beta1.ContactNotice[message.contactNotices[j]] : message.contactNotices[j]; + } + if (message.validateOnly != null && message.hasOwnProperty("validateOnly")) + object.validateOnly = message.validateOnly; + return object; + }; + + /** + * Converts this ConfigureContactSettingsRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @instance + * @returns {Object.} JSON object + */ + ConfigureContactSettingsRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ConfigureContactSettingsRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ConfigureContactSettingsRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ConfigureContactSettingsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ConfigureContactSettingsRequest"; + }; + + return ConfigureContactSettingsRequest; + })(); + + v1beta1.ExportRegistrationRequest = (function() { + + /** + * Properties of an ExportRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IExportRegistrationRequest + * @property {string|null} [name] ExportRegistrationRequest name + */ + + /** + * Constructs a new ExportRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents an ExportRegistrationRequest. + * @implements IExportRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest=} [properties] Properties to set + */ + function ExportRegistrationRequest(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]]; + } + + /** + * ExportRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @instance + */ + ExportRegistrationRequest.prototype.name = ""; + + /** + * Creates a new ExportRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ExportRegistrationRequest} ExportRegistrationRequest instance + */ + ExportRegistrationRequest.create = function create(properties) { + return new ExportRegistrationRequest(properties); + }; + + /** + * Encodes the specified ExportRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ExportRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ExportRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IExportRegistrationRequest} message ExportRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ExportRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an ExportRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ExportRegistrationRequest(); + 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 ExportRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ExportRegistrationRequest} ExportRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ExportRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an ExportRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ExportRegistrationRequest.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 ExportRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ExportRegistrationRequest} ExportRegistrationRequest + */ + ExportRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ExportRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ExportRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from an ExportRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.ExportRegistrationRequest} message ExportRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ExportRegistrationRequest.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 ExportRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + ExportRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ExportRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ExportRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ExportRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ExportRegistrationRequest"; + }; + + return ExportRegistrationRequest; + })(); + + v1beta1.DeleteRegistrationRequest = (function() { + + /** + * Properties of a DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IDeleteRegistrationRequest + * @property {string|null} [name] DeleteRegistrationRequest name + */ + + /** + * Constructs a new DeleteRegistrationRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a DeleteRegistrationRequest. + * @implements IDeleteRegistrationRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest=} [properties] Properties to set + */ + function DeleteRegistrationRequest(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]]; + } + + /** + * DeleteRegistrationRequest name. + * @member {string} name + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @instance + */ + DeleteRegistrationRequest.prototype.name = ""; + + /** + * Creates a new DeleteRegistrationRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.DeleteRegistrationRequest} DeleteRegistrationRequest instance + */ + DeleteRegistrationRequest.create = function create(properties) { + return new DeleteRegistrationRequest(properties); + }; + + /** + * Encodes the specified DeleteRegistrationRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.DeleteRegistrationRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.DeleteRegistrationRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.IDeleteRegistrationRequest} message DeleteRegistrationRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + DeleteRegistrationRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a DeleteRegistrationRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.DeleteRegistrationRequest(); + 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 DeleteRegistrationRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.DeleteRegistrationRequest} DeleteRegistrationRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + DeleteRegistrationRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a DeleteRegistrationRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.DeleteRegistrationRequest} DeleteRegistrationRequest + */ + DeleteRegistrationRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.DeleteRegistrationRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.DeleteRegistrationRequest(); + if (object.name != null) + message.name = String(object.name); + return message; + }; + + /** + * Creates a plain object from a DeleteRegistrationRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {google.cloud.domains.v1beta1.DeleteRegistrationRequest} message DeleteRegistrationRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + DeleteRegistrationRequest.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 DeleteRegistrationRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @instance + * @returns {Object.} JSON object + */ + DeleteRegistrationRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for DeleteRegistrationRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.DeleteRegistrationRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + DeleteRegistrationRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.DeleteRegistrationRequest"; + }; + + return DeleteRegistrationRequest; + })(); + + v1beta1.RetrieveAuthorizationCodeRequest = (function() { + + /** + * Properties of a RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IRetrieveAuthorizationCodeRequest + * @property {string|null} [registration] RetrieveAuthorizationCodeRequest registration + */ + + /** + * Constructs a new RetrieveAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RetrieveAuthorizationCodeRequest. + * @implements IRetrieveAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + */ + function RetrieveAuthorizationCodeRequest(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]]; + } + + /** + * RetrieveAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @instance + */ + RetrieveAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new RetrieveAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest instance + */ + RetrieveAuthorizationCodeRequest.create = function create(properties) { + return new RetrieveAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified RetrieveAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RetrieveAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RetrieveAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RetrieveAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RetrieveAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RetrieveAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a RetrieveAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest} RetrieveAuthorizationCodeRequest + */ + RetrieveAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a RetrieveAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest} message RetrieveAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RetrieveAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this RetrieveAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + RetrieveAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RetrieveAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RetrieveAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest"; + }; + + return RetrieveAuthorizationCodeRequest; + })(); + + v1beta1.ResetAuthorizationCodeRequest = (function() { + + /** + * Properties of a ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1beta1 + * @interface IResetAuthorizationCodeRequest + * @property {string|null} [registration] ResetAuthorizationCodeRequest registration + */ + + /** + * Constructs a new ResetAuthorizationCodeRequest. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a ResetAuthorizationCodeRequest. + * @implements IResetAuthorizationCodeRequest + * @constructor + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest=} [properties] Properties to set + */ + function ResetAuthorizationCodeRequest(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]]; + } + + /** + * ResetAuthorizationCodeRequest registration. + * @member {string} registration + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @instance + */ + ResetAuthorizationCodeRequest.prototype.registration = ""; + + /** + * Creates a new ResetAuthorizationCodeRequest instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest instance + */ + ResetAuthorizationCodeRequest.create = function create(properties) { + return new ResetAuthorizationCodeRequest(properties); + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message. Does not implicitly {@link google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.registration != null && Object.hasOwnProperty.call(message, "registration")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.registration); + return writer; + }; + + /** + * Encodes the specified ResetAuthorizationCodeRequest message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResetAuthorizationCodeRequest.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.registration = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResetAuthorizationCodeRequest message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResetAuthorizationCodeRequest.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResetAuthorizationCodeRequest message. + * @function verify + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResetAuthorizationCodeRequest.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.registration != null && message.hasOwnProperty("registration")) + if (!$util.isString(message.registration)) + return "registration: string expected"; + return null; + }; + + /** + * Creates a ResetAuthorizationCodeRequest message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest} ResetAuthorizationCodeRequest + */ + ResetAuthorizationCodeRequest.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest) + return object; + var message = new $root.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest(); + if (object.registration != null) + message.registration = String(object.registration); + return message; + }; + + /** + * Creates a plain object from a ResetAuthorizationCodeRequest message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest} message ResetAuthorizationCodeRequest + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResetAuthorizationCodeRequest.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.registration = ""; + if (message.registration != null && message.hasOwnProperty("registration")) + object.registration = message.registration; + return object; + }; + + /** + * Converts this ResetAuthorizationCodeRequest to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @instance + * @returns {Object.} JSON object + */ + ResetAuthorizationCodeRequest.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResetAuthorizationCodeRequest + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResetAuthorizationCodeRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest"; + }; + + return ResetAuthorizationCodeRequest; + })(); + + v1beta1.RegisterParameters = (function() { + + /** + * Properties of a RegisterParameters. + * @memberof google.cloud.domains.v1beta1 + * @interface IRegisterParameters + * @property {string|null} [domainName] RegisterParameters domainName + * @property {google.cloud.domains.v1beta1.RegisterParameters.Availability|null} [availability] RegisterParameters availability + * @property {Array.|null} [supportedPrivacy] RegisterParameters supportedPrivacy + * @property {Array.|null} [domainNotices] RegisterParameters domainNotices + * @property {google.type.IMoney|null} [yearlyPrice] RegisterParameters yearlyPrice + */ + + /** + * Constructs a new RegisterParameters. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a RegisterParameters. + * @implements IRegisterParameters + * @constructor + * @param {google.cloud.domains.v1beta1.IRegisterParameters=} [properties] Properties to set + */ + function RegisterParameters(properties) { + this.supportedPrivacy = []; + this.domainNotices = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * RegisterParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainName = ""; + + /** + * RegisterParameters availability. + * @member {google.cloud.domains.v1beta1.RegisterParameters.Availability} availability + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.availability = 0; + + /** + * RegisterParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * RegisterParameters domainNotices. + * @member {Array.} domainNotices + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.domainNotices = $util.emptyArray; + + /** + * RegisterParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + */ + RegisterParameters.prototype.yearlyPrice = null; + + /** + * Creates a new RegisterParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {google.cloud.domains.v1beta1.IRegisterParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.RegisterParameters} RegisterParameters instance + */ + RegisterParameters.create = function create(properties) { + return new RegisterParameters(properties); + }; + + /** + * Encodes the specified RegisterParameters message. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {google.cloud.domains.v1beta1.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.availability != null && Object.hasOwnProperty.call(message, "availability")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.availability); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 3, wireType 2 =*/26).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.domainNotices != null && message.domainNotices.length) { + writer.uint32(/* id 4, wireType 2 =*/34).fork(); + for (var i = 0; i < message.domainNotices.length; ++i) + writer.int32(message.domainNotices[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified RegisterParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.RegisterParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {google.cloud.domains.v1beta1.IRegisterParameters} message RegisterParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + RegisterParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.RegisterParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.availability = reader.int32(); + break; + } + case 3: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 4: { + if (!(message.domainNotices && message.domainNotices.length)) + message.domainNotices = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.domainNotices.push(reader.int32()); + } else + message.domainNotices.push(reader.int32()); + break; + } + case 5: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a RegisterParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.RegisterParameters} RegisterParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + RegisterParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a RegisterParameters message. + * @function verify + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + RegisterParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.availability != null && message.hasOwnProperty("availability")) + switch (message.availability) { + default: + return "availability: enum value expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.domainNotices != null && message.hasOwnProperty("domainNotices")) { + if (!Array.isArray(message.domainNotices)) + return "domainNotices: array expected"; + for (var i = 0; i < message.domainNotices.length; ++i) + switch (message.domainNotices[i]) { + default: + return "domainNotices: enum value[] expected"; + case 0: + case 1: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a RegisterParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.RegisterParameters} RegisterParameters + */ + RegisterParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.RegisterParameters) + return object; + var message = new $root.google.cloud.domains.v1beta1.RegisterParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + switch (object.availability) { + default: + if (typeof object.availability === "number") { + message.availability = object.availability; + break; + } + break; + case "AVAILABILITY_UNSPECIFIED": + case 0: + message.availability = 0; + break; + case "AVAILABLE": + case 1: + message.availability = 1; + break; + case "UNAVAILABLE": + case 2: + message.availability = 2; + break; + case "UNSUPPORTED": + case 3: + message.availability = 3; + break; + case "UNKNOWN": + case 4: + message.availability = 4; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1beta1.RegisterParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.domainNotices) { + if (!Array.isArray(object.domainNotices)) + throw TypeError(".google.cloud.domains.v1beta1.RegisterParameters.domainNotices: array expected"); + message.domainNotices = []; + for (var i = 0; i < object.domainNotices.length; ++i) + switch (object.domainNotices[i]) { + default: + if (typeof object.domainNotices[i] === "number") { + message.domainNotices[i] = object.domainNotices[i]; + break; + } + case "DOMAIN_NOTICE_UNSPECIFIED": + case 0: + message.domainNotices[i] = 0; + break; + case "HSTS_PRELOADED": + case 1: + message.domainNotices[i] = 1; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1beta1.RegisterParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a RegisterParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {google.cloud.domains.v1beta1.RegisterParameters} message RegisterParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + RegisterParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.supportedPrivacy = []; + object.domainNotices = []; + } + if (options.defaults) { + object.domainName = ""; + object.availability = options.enums === String ? "AVAILABILITY_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.availability != null && message.hasOwnProperty("availability")) + object.availability = options.enums === String ? $root.google.cloud.domains.v1beta1.RegisterParameters.Availability[message.availability] === undefined ? message.availability : $root.google.cloud.domains.v1beta1.RegisterParameters.Availability[message.availability] : message.availability; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.domainNotices && message.domainNotices.length) { + object.domainNotices = []; + for (var j = 0; j < message.domainNotices.length; ++j) + object.domainNotices[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.DomainNotice[message.domainNotices[j]] === undefined ? message.domainNotices[j] : $root.google.cloud.domains.v1beta1.DomainNotice[message.domainNotices[j]] : message.domainNotices[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this RegisterParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @instance + * @returns {Object.} JSON object + */ + RegisterParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for RegisterParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.RegisterParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + RegisterParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.RegisterParameters"; + }; + + /** + * Availability enum. + * @name google.cloud.domains.v1beta1.RegisterParameters.Availability + * @enum {number} + * @property {number} AVAILABILITY_UNSPECIFIED=0 AVAILABILITY_UNSPECIFIED value + * @property {number} AVAILABLE=1 AVAILABLE value + * @property {number} UNAVAILABLE=2 UNAVAILABLE value + * @property {number} UNSUPPORTED=3 UNSUPPORTED value + * @property {number} UNKNOWN=4 UNKNOWN value + */ + RegisterParameters.Availability = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "AVAILABILITY_UNSPECIFIED"] = 0; + values[valuesById[1] = "AVAILABLE"] = 1; + values[valuesById[2] = "UNAVAILABLE"] = 2; + values[valuesById[3] = "UNSUPPORTED"] = 3; + values[valuesById[4] = "UNKNOWN"] = 4; + return values; + })(); + + return RegisterParameters; + })(); + + v1beta1.TransferParameters = (function() { + + /** + * Properties of a TransferParameters. + * @memberof google.cloud.domains.v1beta1 + * @interface ITransferParameters + * @property {string|null} [domainName] TransferParameters domainName + * @property {string|null} [currentRegistrar] TransferParameters currentRegistrar + * @property {Array.|null} [nameServers] TransferParameters nameServers + * @property {google.cloud.domains.v1beta1.TransferLockState|null} [transferLockState] TransferParameters transferLockState + * @property {Array.|null} [supportedPrivacy] TransferParameters supportedPrivacy + * @property {google.type.IMoney|null} [yearlyPrice] TransferParameters yearlyPrice + */ + + /** + * Constructs a new TransferParameters. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents a TransferParameters. + * @implements ITransferParameters + * @constructor + * @param {google.cloud.domains.v1beta1.ITransferParameters=} [properties] Properties to set + */ + function TransferParameters(properties) { + this.nameServers = []; + this.supportedPrivacy = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * TransferParameters domainName. + * @member {string} domainName + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.domainName = ""; + + /** + * TransferParameters currentRegistrar. + * @member {string} currentRegistrar + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.currentRegistrar = ""; + + /** + * TransferParameters nameServers. + * @member {Array.} nameServers + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.nameServers = $util.emptyArray; + + /** + * TransferParameters transferLockState. + * @member {google.cloud.domains.v1beta1.TransferLockState} transferLockState + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.transferLockState = 0; + + /** + * TransferParameters supportedPrivacy. + * @member {Array.} supportedPrivacy + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.supportedPrivacy = $util.emptyArray; + + /** + * TransferParameters yearlyPrice. + * @member {google.type.IMoney|null|undefined} yearlyPrice + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + */ + TransferParameters.prototype.yearlyPrice = null; + + /** + * Creates a new TransferParameters instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {google.cloud.domains.v1beta1.ITransferParameters=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.TransferParameters} TransferParameters instance + */ + TransferParameters.create = function create(properties) { + return new TransferParameters(properties); + }; + + /** + * Encodes the specified TransferParameters message. Does not implicitly {@link google.cloud.domains.v1beta1.TransferParameters.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {google.cloud.domains.v1beta1.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.domainName != null && Object.hasOwnProperty.call(message, "domainName")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.domainName); + if (message.currentRegistrar != null && Object.hasOwnProperty.call(message, "currentRegistrar")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.currentRegistrar); + if (message.nameServers != null && message.nameServers.length) + for (var i = 0; i < message.nameServers.length; ++i) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameServers[i]); + if (message.transferLockState != null && Object.hasOwnProperty.call(message, "transferLockState")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.transferLockState); + if (message.supportedPrivacy != null && message.supportedPrivacy.length) { + writer.uint32(/* id 5, wireType 2 =*/42).fork(); + for (var i = 0; i < message.supportedPrivacy.length; ++i) + writer.int32(message.supportedPrivacy[i]); + writer.ldelim(); + } + if (message.yearlyPrice != null && Object.hasOwnProperty.call(message, "yearlyPrice")) + $root.google.type.Money.encode(message.yearlyPrice, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified TransferParameters message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.TransferParameters.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {google.cloud.domains.v1beta1.ITransferParameters} message TransferParameters message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + TransferParameters.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.TransferParameters(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.domainName = reader.string(); + break; + } + case 2: { + message.currentRegistrar = reader.string(); + break; + } + case 3: { + if (!(message.nameServers && message.nameServers.length)) + message.nameServers = []; + message.nameServers.push(reader.string()); + break; + } + case 4: { + message.transferLockState = reader.int32(); + break; + } + case 5: { + if (!(message.supportedPrivacy && message.supportedPrivacy.length)) + message.supportedPrivacy = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.supportedPrivacy.push(reader.int32()); + } else + message.supportedPrivacy.push(reader.int32()); + break; + } + case 6: { + message.yearlyPrice = $root.google.type.Money.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a TransferParameters message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.TransferParameters} TransferParameters + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + TransferParameters.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a TransferParameters message. + * @function verify + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + TransferParameters.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.domainName != null && message.hasOwnProperty("domainName")) + if (!$util.isString(message.domainName)) + return "domainName: string expected"; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + if (!$util.isString(message.currentRegistrar)) + return "currentRegistrar: string expected"; + if (message.nameServers != null && message.hasOwnProperty("nameServers")) { + if (!Array.isArray(message.nameServers)) + return "nameServers: array expected"; + for (var i = 0; i < message.nameServers.length; ++i) + if (!$util.isString(message.nameServers[i])) + return "nameServers: string[] expected"; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + switch (message.transferLockState) { + default: + return "transferLockState: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.supportedPrivacy != null && message.hasOwnProperty("supportedPrivacy")) { + if (!Array.isArray(message.supportedPrivacy)) + return "supportedPrivacy: array expected"; + for (var i = 0; i < message.supportedPrivacy.length; ++i) + switch (message.supportedPrivacy[i]) { + default: + return "supportedPrivacy: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + break; + } + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) { + var error = $root.google.type.Money.verify(message.yearlyPrice); + if (error) + return "yearlyPrice." + error; + } + return null; + }; + + /** + * Creates a TransferParameters message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.TransferParameters} TransferParameters + */ + TransferParameters.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.TransferParameters) + return object; + var message = new $root.google.cloud.domains.v1beta1.TransferParameters(); + if (object.domainName != null) + message.domainName = String(object.domainName); + if (object.currentRegistrar != null) + message.currentRegistrar = String(object.currentRegistrar); + if (object.nameServers) { + if (!Array.isArray(object.nameServers)) + throw TypeError(".google.cloud.domains.v1beta1.TransferParameters.nameServers: array expected"); + message.nameServers = []; + for (var i = 0; i < object.nameServers.length; ++i) + message.nameServers[i] = String(object.nameServers[i]); + } + switch (object.transferLockState) { + default: + if (typeof object.transferLockState === "number") { + message.transferLockState = object.transferLockState; + break; + } + break; + case "TRANSFER_LOCK_STATE_UNSPECIFIED": + case 0: + message.transferLockState = 0; + break; + case "UNLOCKED": + case 1: + message.transferLockState = 1; + break; + case "LOCKED": + case 2: + message.transferLockState = 2; + break; + } + if (object.supportedPrivacy) { + if (!Array.isArray(object.supportedPrivacy)) + throw TypeError(".google.cloud.domains.v1beta1.TransferParameters.supportedPrivacy: array expected"); + message.supportedPrivacy = []; + for (var i = 0; i < object.supportedPrivacy.length; ++i) + switch (object.supportedPrivacy[i]) { + default: + if (typeof object.supportedPrivacy[i] === "number") { + message.supportedPrivacy[i] = object.supportedPrivacy[i]; + break; + } + case "CONTACT_PRIVACY_UNSPECIFIED": + case 0: + message.supportedPrivacy[i] = 0; + break; + case "PUBLIC_CONTACT_DATA": + case 1: + message.supportedPrivacy[i] = 1; + break; + case "PRIVATE_CONTACT_DATA": + case 2: + message.supportedPrivacy[i] = 2; + break; + case "REDACTED_CONTACT_DATA": + case 3: + message.supportedPrivacy[i] = 3; + break; + } + } + if (object.yearlyPrice != null) { + if (typeof object.yearlyPrice !== "object") + throw TypeError(".google.cloud.domains.v1beta1.TransferParameters.yearlyPrice: object expected"); + message.yearlyPrice = $root.google.type.Money.fromObject(object.yearlyPrice); + } + return message; + }; + + /** + * Creates a plain object from a TransferParameters message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {google.cloud.domains.v1beta1.TransferParameters} message TransferParameters + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + TransferParameters.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.nameServers = []; + object.supportedPrivacy = []; + } + if (options.defaults) { + object.domainName = ""; + object.currentRegistrar = ""; + object.transferLockState = options.enums === String ? "TRANSFER_LOCK_STATE_UNSPECIFIED" : 0; + object.yearlyPrice = null; + } + if (message.domainName != null && message.hasOwnProperty("domainName")) + object.domainName = message.domainName; + if (message.currentRegistrar != null && message.hasOwnProperty("currentRegistrar")) + object.currentRegistrar = message.currentRegistrar; + if (message.nameServers && message.nameServers.length) { + object.nameServers = []; + for (var j = 0; j < message.nameServers.length; ++j) + object.nameServers[j] = message.nameServers[j]; + } + if (message.transferLockState != null && message.hasOwnProperty("transferLockState")) + object.transferLockState = options.enums === String ? $root.google.cloud.domains.v1beta1.TransferLockState[message.transferLockState] === undefined ? message.transferLockState : $root.google.cloud.domains.v1beta1.TransferLockState[message.transferLockState] : message.transferLockState; + if (message.supportedPrivacy && message.supportedPrivacy.length) { + object.supportedPrivacy = []; + for (var j = 0; j < message.supportedPrivacy.length; ++j) + object.supportedPrivacy[j] = options.enums === String ? $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] === undefined ? message.supportedPrivacy[j] : $root.google.cloud.domains.v1beta1.ContactPrivacy[message.supportedPrivacy[j]] : message.supportedPrivacy[j]; + } + if (message.yearlyPrice != null && message.hasOwnProperty("yearlyPrice")) + object.yearlyPrice = $root.google.type.Money.toObject(message.yearlyPrice, options); + return object; + }; + + /** + * Converts this TransferParameters to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @instance + * @returns {Object.} JSON object + */ + TransferParameters.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for TransferParameters + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.TransferParameters + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + TransferParameters.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.TransferParameters"; + }; + + return TransferParameters; + })(); + + v1beta1.AuthorizationCode = (function() { + + /** + * Properties of an AuthorizationCode. + * @memberof google.cloud.domains.v1beta1 + * @interface IAuthorizationCode + * @property {string|null} [code] AuthorizationCode code + */ + + /** + * Constructs a new AuthorizationCode. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents an AuthorizationCode. + * @implements IAuthorizationCode + * @constructor + * @param {google.cloud.domains.v1beta1.IAuthorizationCode=} [properties] Properties to set + */ + function AuthorizationCode(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]]; + } + + /** + * AuthorizationCode code. + * @member {string} code + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @instance + */ + AuthorizationCode.prototype.code = ""; + + /** + * Creates a new AuthorizationCode instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1beta1.IAuthorizationCode=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.AuthorizationCode} AuthorizationCode instance + */ + AuthorizationCode.create = function create(properties) { + return new AuthorizationCode(properties); + }; + + /** + * Encodes the specified AuthorizationCode message. Does not implicitly {@link google.cloud.domains.v1beta1.AuthorizationCode.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1beta1.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.code != null && Object.hasOwnProperty.call(message, "code")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.code); + return writer; + }; + + /** + * Encodes the specified AuthorizationCode message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.AuthorizationCode.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1beta1.IAuthorizationCode} message AuthorizationCode message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + AuthorizationCode.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer. + * @function decode + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.v1beta1.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.domains.v1beta1.AuthorizationCode(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.code = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an AuthorizationCode message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.v1beta1.AuthorizationCode} AuthorizationCode + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + AuthorizationCode.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an AuthorizationCode message. + * @function verify + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + AuthorizationCode.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.code != null && message.hasOwnProperty("code")) + if (!$util.isString(message.code)) + return "code: string expected"; + return null; + }; + + /** + * Creates an AuthorizationCode message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.AuthorizationCode} AuthorizationCode + */ + AuthorizationCode.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.AuthorizationCode) + return object; + var message = new $root.google.cloud.domains.v1beta1.AuthorizationCode(); + if (object.code != null) + message.code = String(object.code); + return message; + }; + + /** + * Creates a plain object from an AuthorizationCode message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {google.cloud.domains.v1beta1.AuthorizationCode} message AuthorizationCode + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + AuthorizationCode.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) + object.code = ""; + if (message.code != null && message.hasOwnProperty("code")) + object.code = message.code; + return object; + }; + + /** + * Converts this AuthorizationCode to JSON. + * @function toJSON + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @instance + * @returns {Object.} JSON object + */ + AuthorizationCode.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for AuthorizationCode + * @function getTypeUrl + * @memberof google.cloud.domains.v1beta1.AuthorizationCode + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + AuthorizationCode.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.cloud.domains.v1beta1.AuthorizationCode"; + }; + + return AuthorizationCode; + })(); + + v1beta1.OperationMetadata = (function() { + + /** + * Properties of an OperationMetadata. + * @memberof google.cloud.domains.v1beta1 + * @interface IOperationMetadata + * @property {google.protobuf.ITimestamp|null} [createTime] OperationMetadata createTime + * @property {google.protobuf.ITimestamp|null} [endTime] OperationMetadata endTime + * @property {string|null} [target] OperationMetadata target + * @property {string|null} [verb] OperationMetadata verb + * @property {string|null} [statusDetail] OperationMetadata statusDetail + * @property {string|null} [apiVersion] OperationMetadata apiVersion + */ + + /** + * Constructs a new OperationMetadata. + * @memberof google.cloud.domains.v1beta1 + * @classdesc Represents an OperationMetadata. + * @implements IOperationMetadata + * @constructor + * @param {google.cloud.domains.v1beta1.IOperationMetadata=} [properties] Properties to set + */ + function OperationMetadata(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * OperationMetadata createTime. + * @member {google.protobuf.ITimestamp|null|undefined} createTime + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.createTime = null; + + /** + * OperationMetadata endTime. + * @member {google.protobuf.ITimestamp|null|undefined} endTime + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.endTime = null; + + /** + * OperationMetadata target. + * @member {string} target + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.target = ""; + + /** + * OperationMetadata verb. + * @member {string} verb + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.verb = ""; + + /** + * OperationMetadata statusDetail. + * @member {string} statusDetail + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.statusDetail = ""; + + /** + * OperationMetadata apiVersion. + * @member {string} apiVersion + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @instance + */ + OperationMetadata.prototype.apiVersion = ""; + + /** + * Creates a new OperationMetadata instance using the specified properties. + * @function create + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {google.cloud.domains.v1beta1.IOperationMetadata=} [properties] Properties to set + * @returns {google.cloud.domains.v1beta1.OperationMetadata} OperationMetadata instance + */ + OperationMetadata.create = function create(properties) { + return new OperationMetadata(properties); + }; + + /** + * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.domains.v1beta1.OperationMetadata.verify|verify} messages. + * @function encode + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {google.cloud.domains.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.createTime != null && Object.hasOwnProperty.call(message, "createTime")) + $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime")) + $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.target != null && Object.hasOwnProperty.call(message, "target")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.target); + if (message.verb != null && Object.hasOwnProperty.call(message, "verb")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.verb); + if (message.statusDetail != null && Object.hasOwnProperty.call(message, "statusDetail")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.statusDetail); + if (message.apiVersion != null && Object.hasOwnProperty.call(message, "apiVersion")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.apiVersion); + return writer; + }; + + /** + * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.domains.v1beta1.OperationMetadata.verify|verify} messages. + * @function encodeDelimited + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {google.cloud.domains.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.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.cloud.domains.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.cloud.domains.v1beta1.OperationMetadata(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 2: { + message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32()); + break; + } + case 3: { + message.target = reader.string(); + break; + } + case 4: { + message.verb = reader.string(); + break; + } + case 5: { + message.statusDetail = reader.string(); + break; + } + case 6: { + message.apiVersion = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an OperationMetadata message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.cloud.domains.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.cloud.domains.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.createTime != null && message.hasOwnProperty("createTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.createTime); + if (error) + return "createTime." + error; + } + if (message.endTime != null && message.hasOwnProperty("endTime")) { + var error = $root.google.protobuf.Timestamp.verify(message.endTime); + if (error) + return "endTime." + error; + } + if (message.target != null && message.hasOwnProperty("target")) + if (!$util.isString(message.target)) + return "target: string expected"; + if (message.verb != null && message.hasOwnProperty("verb")) + if (!$util.isString(message.verb)) + return "verb: string expected"; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + if (!$util.isString(message.statusDetail)) + return "statusDetail: string expected"; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + if (!$util.isString(message.apiVersion)) + return "apiVersion: string expected"; + return null; + }; + + /** + * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {Object.} object Plain object + * @returns {google.cloud.domains.v1beta1.OperationMetadata} OperationMetadata + */ + OperationMetadata.fromObject = function fromObject(object) { + if (object instanceof $root.google.cloud.domains.v1beta1.OperationMetadata) + return object; + var message = new $root.google.cloud.domains.v1beta1.OperationMetadata(); + if (object.createTime != null) { + if (typeof object.createTime !== "object") + throw TypeError(".google.cloud.domains.v1beta1.OperationMetadata.createTime: object expected"); + message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime); + } + if (object.endTime != null) { + if (typeof object.endTime !== "object") + throw TypeError(".google.cloud.domains.v1beta1.OperationMetadata.endTime: object expected"); + message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime); + } + if (object.target != null) + message.target = String(object.target); + if (object.verb != null) + message.verb = String(object.verb); + if (object.statusDetail != null) + message.statusDetail = String(object.statusDetail); + if (object.apiVersion != null) + message.apiVersion = String(object.apiVersion); + return message; + }; + + /** + * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified. + * @function toObject + * @memberof google.cloud.domains.v1beta1.OperationMetadata + * @static + * @param {google.cloud.domains.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.defaults) { + object.createTime = null; + object.endTime = null; + object.target = ""; + object.verb = ""; + object.statusDetail = ""; + object.apiVersion = ""; + } + if (message.createTime != null && message.hasOwnProperty("createTime")) + object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options); + if (message.endTime != null && message.hasOwnProperty("endTime")) + object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options); + if (message.target != null && message.hasOwnProperty("target")) + object.target = message.target; + if (message.verb != null && message.hasOwnProperty("verb")) + object.verb = message.verb; + if (message.statusDetail != null && message.hasOwnProperty("statusDetail")) + object.statusDetail = message.statusDetail; + if (message.apiVersion != null && message.hasOwnProperty("apiVersion")) + object.apiVersion = message.apiVersion; + return object; + }; + + /** + * Converts this OperationMetadata to JSON. + * @function toJSON + * @memberof google.cloud.domains.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.cloud.domains.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.cloud.domains.v1beta1.OperationMetadata"; + }; + + return OperationMetadata; + })(); + + /** + * ContactPrivacy enum. + * @name google.cloud.domains.v1beta1.ContactPrivacy + * @enum {number} + * @property {number} CONTACT_PRIVACY_UNSPECIFIED=0 CONTACT_PRIVACY_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA=1 PUBLIC_CONTACT_DATA value + * @property {number} PRIVATE_CONTACT_DATA=2 PRIVATE_CONTACT_DATA value + * @property {number} REDACTED_CONTACT_DATA=3 REDACTED_CONTACT_DATA value + */ + v1beta1.ContactPrivacy = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_PRIVACY_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA"] = 1; + values[valuesById[2] = "PRIVATE_CONTACT_DATA"] = 2; + values[valuesById[3] = "REDACTED_CONTACT_DATA"] = 3; + return values; + })(); + + /** + * DomainNotice enum. + * @name google.cloud.domains.v1beta1.DomainNotice + * @enum {number} + * @property {number} DOMAIN_NOTICE_UNSPECIFIED=0 DOMAIN_NOTICE_UNSPECIFIED value + * @property {number} HSTS_PRELOADED=1 HSTS_PRELOADED value + */ + v1beta1.DomainNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "DOMAIN_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "HSTS_PRELOADED"] = 1; + return values; + })(); + + /** + * ContactNotice enum. + * @name google.cloud.domains.v1beta1.ContactNotice + * @enum {number} + * @property {number} CONTACT_NOTICE_UNSPECIFIED=0 CONTACT_NOTICE_UNSPECIFIED value + * @property {number} PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT=1 PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT value + */ + v1beta1.ContactNotice = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "CONTACT_NOTICE_UNSPECIFIED"] = 0; + values[valuesById[1] = "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT"] = 1; + return values; + })(); + + /** + * TransferLockState enum. + * @name google.cloud.domains.v1beta1.TransferLockState + * @enum {number} + * @property {number} TRANSFER_LOCK_STATE_UNSPECIFIED=0 TRANSFER_LOCK_STATE_UNSPECIFIED value + * @property {number} UNLOCKED=1 UNLOCKED value + * @property {number} LOCKED=2 LOCKED value + */ + v1beta1.TransferLockState = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "TRANSFER_LOCK_STATE_UNSPECIFIED"] = 0; + values[valuesById[1] = "UNLOCKED"] = 1; + values[valuesById[2] = "LOCKED"] = 2; + return values; + })(); + + return v1beta1; + })(); + + return domains; + })(); + + return cloud; + })(); + + google.api = (function() { + + /** + * Namespace api. + * @memberof google + * @namespace + */ + var api = {}; + + api.Http = (function() { + + /** + * Properties of a Http. + * @memberof google.api + * @interface IHttp + * @property {Array.|null} [rules] Http rules + * @property {boolean|null} [fullyDecodeReservedExpansion] Http fullyDecodeReservedExpansion + */ + + /** + * Constructs a new Http. + * @memberof google.api + * @classdesc Represents a Http. + * @implements IHttp + * @constructor + * @param {google.api.IHttp=} [properties] Properties to set + */ + function Http(properties) { + this.rules = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Http rules. + * @member {Array.} rules + * @memberof google.api.Http + * @instance + */ + Http.prototype.rules = $util.emptyArray; + + /** + * Http fullyDecodeReservedExpansion. + * @member {boolean} fullyDecodeReservedExpansion + * @memberof google.api.Http + * @instance + */ + Http.prototype.fullyDecodeReservedExpansion = false; + + /** + * Creates a new Http instance using the specified properties. + * @function create + * @memberof google.api.Http + * @static + * @param {google.api.IHttp=} [properties] Properties to set + * @returns {google.api.Http} Http instance + */ + Http.create = function create(properties) { + return new Http(properties); + }; + + /** + * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encode + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.rules != null && message.rules.length) + for (var i = 0; i < message.rules.length; ++i) + $root.google.api.HttpRule.encode(message.rules[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + if (message.fullyDecodeReservedExpansion != null && Object.hasOwnProperty.call(message, "fullyDecodeReservedExpansion")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.fullyDecodeReservedExpansion); + return writer; + }; + + /** + * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.Http + * @static + * @param {google.api.IHttp} message Http message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Http.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Http message from the specified reader or buffer. + * @function decode + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.Http(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.rules && message.rules.length)) + message.rules = []; + message.rules.push($root.google.api.HttpRule.decode(reader, reader.uint32())); + break; + } + case 2: { + message.fullyDecodeReservedExpansion = reader.bool(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Http message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.Http + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.Http} Http + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Http.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Http message. + * @function verify + * @memberof google.api.Http + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Http.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.rules != null && message.hasOwnProperty("rules")) { + if (!Array.isArray(message.rules)) + return "rules: array expected"; + for (var i = 0; i < message.rules.length; ++i) { + var error = $root.google.api.HttpRule.verify(message.rules[i]); + if (error) + return "rules." + error; + } + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + if (typeof message.fullyDecodeReservedExpansion !== "boolean") + return "fullyDecodeReservedExpansion: boolean expected"; + return null; + }; + + /** + * Creates a Http message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.Http + * @static + * @param {Object.} object Plain object + * @returns {google.api.Http} Http + */ + Http.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.Http) + return object; + var message = new $root.google.api.Http(); + if (object.rules) { + if (!Array.isArray(object.rules)) + throw TypeError(".google.api.Http.rules: array expected"); + message.rules = []; + for (var i = 0; i < object.rules.length; ++i) { + if (typeof object.rules[i] !== "object") + throw TypeError(".google.api.Http.rules: object expected"); + message.rules[i] = $root.google.api.HttpRule.fromObject(object.rules[i]); + } + } + if (object.fullyDecodeReservedExpansion != null) + message.fullyDecodeReservedExpansion = Boolean(object.fullyDecodeReservedExpansion); + return message; + }; + + /** + * Creates a plain object from a Http message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.Http + * @static + * @param {google.api.Http} message Http + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Http.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.rules = []; + if (options.defaults) + object.fullyDecodeReservedExpansion = false; + if (message.rules && message.rules.length) { + object.rules = []; + for (var j = 0; j < message.rules.length; ++j) + object.rules[j] = $root.google.api.HttpRule.toObject(message.rules[j], options); + } + if (message.fullyDecodeReservedExpansion != null && message.hasOwnProperty("fullyDecodeReservedExpansion")) + object.fullyDecodeReservedExpansion = message.fullyDecodeReservedExpansion; + return object; + }; + + /** + * Converts this Http to JSON. + * @function toJSON + * @memberof google.api.Http + * @instance + * @returns {Object.} JSON object + */ + Http.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * 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; + })(); + + /** + * FieldBehavior enum. + * @name google.api.FieldBehavior + * @enum {number} + * @property {number} FIELD_BEHAVIOR_UNSPECIFIED=0 FIELD_BEHAVIOR_UNSPECIFIED value + * @property {number} OPTIONAL=1 OPTIONAL value + * @property {number} REQUIRED=2 REQUIRED value + * @property {number} OUTPUT_ONLY=3 OUTPUT_ONLY value + * @property {number} INPUT_ONLY=4 INPUT_ONLY value + * @property {number} IMMUTABLE=5 IMMUTABLE value + * @property {number} UNORDERED_LIST=6 UNORDERED_LIST value + * @property {number} NON_EMPTY_DEFAULT=7 NON_EMPTY_DEFAULT value + */ + api.FieldBehavior = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "FIELD_BEHAVIOR_UNSPECIFIED"] = 0; + values[valuesById[1] = "OPTIONAL"] = 1; + values[valuesById[2] = "REQUIRED"] = 2; + values[valuesById[3] = "OUTPUT_ONLY"] = 3; + values[valuesById[4] = "INPUT_ONLY"] = 4; + values[valuesById[5] = "IMMUTABLE"] = 5; + values[valuesById[6] = "UNORDERED_LIST"] = 6; + values[valuesById[7] = "NON_EMPTY_DEFAULT"] = 7; + return values; + })(); + + api.ResourceDescriptor = (function() { + + /** + * Properties of a ResourceDescriptor. + * @memberof google.api + * @interface IResourceDescriptor + * @property {string|null} [type] ResourceDescriptor type + * @property {Array.|null} [pattern] ResourceDescriptor pattern + * @property {string|null} [nameField] ResourceDescriptor nameField + * @property {google.api.ResourceDescriptor.History|null} [history] ResourceDescriptor history + * @property {string|null} [plural] ResourceDescriptor plural + * @property {string|null} [singular] ResourceDescriptor singular + * @property {Array.|null} [style] ResourceDescriptor style + */ + + /** + * Constructs a new ResourceDescriptor. + * @memberof google.api + * @classdesc Represents a ResourceDescriptor. + * @implements IResourceDescriptor + * @constructor + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + */ + function ResourceDescriptor(properties) { + this.pattern = []; + this.style = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceDescriptor type. + * @member {string} type + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.type = ""; + + /** + * ResourceDescriptor pattern. + * @member {Array.} pattern + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.pattern = $util.emptyArray; + + /** + * ResourceDescriptor nameField. + * @member {string} nameField + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.nameField = ""; + + /** + * ResourceDescriptor history. + * @member {google.api.ResourceDescriptor.History} history + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.history = 0; + + /** + * ResourceDescriptor plural. + * @member {string} plural + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.plural = ""; + + /** + * ResourceDescriptor singular. + * @member {string} singular + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.singular = ""; + + /** + * ResourceDescriptor style. + * @member {Array.} style + * @memberof google.api.ResourceDescriptor + * @instance + */ + ResourceDescriptor.prototype.style = $util.emptyArray; + + /** + * Creates a new ResourceDescriptor instance using the specified properties. + * @function create + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor=} [properties] Properties to set + * @returns {google.api.ResourceDescriptor} ResourceDescriptor instance + */ + ResourceDescriptor.create = function create(properties) { + return new ResourceDescriptor(properties); + }; + + /** + * Encodes the specified ResourceDescriptor message. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.pattern != null && message.pattern.length) + for (var i = 0; i < message.pattern.length; ++i) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.pattern[i]); + if (message.nameField != null && Object.hasOwnProperty.call(message, "nameField")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.nameField); + if (message.history != null && Object.hasOwnProperty.call(message, "history")) + writer.uint32(/* id 4, wireType 0 =*/32).int32(message.history); + if (message.plural != null && Object.hasOwnProperty.call(message, "plural")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.plural); + if (message.singular != null && Object.hasOwnProperty.call(message, "singular")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.singular); + if (message.style != null && message.style.length) { + writer.uint32(/* id 10, wireType 2 =*/82).fork(); + for (var i = 0; i < message.style.length; ++i) + writer.int32(message.style[i]); + writer.ldelim(); + } + return writer; + }; + + /** + * Encodes the specified ResourceDescriptor message, length delimited. Does not implicitly {@link google.api.ResourceDescriptor.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.IResourceDescriptor} message ResourceDescriptor message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceDescriptor.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceDescriptor(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type = reader.string(); + break; + } + case 2: { + if (!(message.pattern && message.pattern.length)) + message.pattern = []; + message.pattern.push(reader.string()); + break; + } + case 3: { + message.nameField = reader.string(); + break; + } + case 4: { + message.history = reader.int32(); + break; + } + case 5: { + message.plural = reader.string(); + break; + } + case 6: { + message.singular = reader.string(); + break; + } + case 10: { + if (!(message.style && message.style.length)) + message.style = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message.style.push(reader.int32()); + } else + message.style.push(reader.int32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceDescriptor message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceDescriptor + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceDescriptor.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceDescriptor message. + * @function verify + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceDescriptor.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.pattern != null && message.hasOwnProperty("pattern")) { + if (!Array.isArray(message.pattern)) + return "pattern: array expected"; + for (var i = 0; i < message.pattern.length; ++i) + if (!$util.isString(message.pattern[i])) + return "pattern: string[] expected"; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + if (!$util.isString(message.nameField)) + return "nameField: string expected"; + if (message.history != null && message.hasOwnProperty("history")) + switch (message.history) { + default: + return "history: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.plural != null && message.hasOwnProperty("plural")) + if (!$util.isString(message.plural)) + return "plural: string expected"; + if (message.singular != null && message.hasOwnProperty("singular")) + if (!$util.isString(message.singular)) + return "singular: string expected"; + if (message.style != null && message.hasOwnProperty("style")) { + if (!Array.isArray(message.style)) + return "style: array expected"; + for (var i = 0; i < message.style.length; ++i) + switch (message.style[i]) { + default: + return "style: enum value[] expected"; + case 0: + case 1: + break; + } + } + return null; + }; + + /** + * Creates a ResourceDescriptor message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceDescriptor} ResourceDescriptor + */ + ResourceDescriptor.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceDescriptor) + return object; + var message = new $root.google.api.ResourceDescriptor(); + if (object.type != null) + message.type = String(object.type); + if (object.pattern) { + if (!Array.isArray(object.pattern)) + throw TypeError(".google.api.ResourceDescriptor.pattern: array expected"); + message.pattern = []; + for (var i = 0; i < object.pattern.length; ++i) + message.pattern[i] = String(object.pattern[i]); + } + if (object.nameField != null) + message.nameField = String(object.nameField); + switch (object.history) { + default: + if (typeof object.history === "number") { + message.history = object.history; + break; + } + break; + case "HISTORY_UNSPECIFIED": + case 0: + message.history = 0; + break; + case "ORIGINALLY_SINGLE_PATTERN": + case 1: + message.history = 1; + break; + case "FUTURE_MULTI_PATTERN": + case 2: + message.history = 2; + break; + } + if (object.plural != null) + message.plural = String(object.plural); + if (object.singular != null) + message.singular = String(object.singular); + if (object.style) { + if (!Array.isArray(object.style)) + throw TypeError(".google.api.ResourceDescriptor.style: array expected"); + message.style = []; + for (var i = 0; i < object.style.length; ++i) + switch (object.style[i]) { + default: + if (typeof object.style[i] === "number") { + message.style[i] = object.style[i]; + break; + } + case "STYLE_UNSPECIFIED": + case 0: + message.style[i] = 0; + break; + case "DECLARATIVE_FRIENDLY": + case 1: + message.style[i] = 1; + break; + } + } + return message; + }; + + /** + * Creates a plain object from a ResourceDescriptor message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceDescriptor + * @static + * @param {google.api.ResourceDescriptor} message ResourceDescriptor + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceDescriptor.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.pattern = []; + object.style = []; + } + if (options.defaults) { + object.type = ""; + object.nameField = ""; + object.history = options.enums === String ? "HISTORY_UNSPECIFIED" : 0; + object.plural = ""; + object.singular = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.pattern && message.pattern.length) { + object.pattern = []; + for (var j = 0; j < message.pattern.length; ++j) + object.pattern[j] = message.pattern[j]; + } + if (message.nameField != null && message.hasOwnProperty("nameField")) + object.nameField = message.nameField; + if (message.history != null && message.hasOwnProperty("history")) + object.history = options.enums === String ? $root.google.api.ResourceDescriptor.History[message.history] === undefined ? message.history : $root.google.api.ResourceDescriptor.History[message.history] : message.history; + if (message.plural != null && message.hasOwnProperty("plural")) + object.plural = message.plural; + if (message.singular != null && message.hasOwnProperty("singular")) + object.singular = message.singular; + if (message.style && message.style.length) { + object.style = []; + for (var j = 0; j < message.style.length; ++j) + object.style[j] = options.enums === String ? $root.google.api.ResourceDescriptor.Style[message.style[j]] === undefined ? message.style[j] : $root.google.api.ResourceDescriptor.Style[message.style[j]] : message.style[j]; + } + return object; + }; + + /** + * Converts this ResourceDescriptor to JSON. + * @function toJSON + * @memberof google.api.ResourceDescriptor + * @instance + * @returns {Object.} JSON object + */ + ResourceDescriptor.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResourceDescriptor + * @function getTypeUrl + * @memberof google.api.ResourceDescriptor + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceDescriptor.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceDescriptor"; + }; + + /** + * History enum. + * @name google.api.ResourceDescriptor.History + * @enum {number} + * @property {number} HISTORY_UNSPECIFIED=0 HISTORY_UNSPECIFIED value + * @property {number} ORIGINALLY_SINGLE_PATTERN=1 ORIGINALLY_SINGLE_PATTERN value + * @property {number} FUTURE_MULTI_PATTERN=2 FUTURE_MULTI_PATTERN value + */ + ResourceDescriptor.History = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "HISTORY_UNSPECIFIED"] = 0; + values[valuesById[1] = "ORIGINALLY_SINGLE_PATTERN"] = 1; + values[valuesById[2] = "FUTURE_MULTI_PATTERN"] = 2; + return values; + })(); + + /** + * Style enum. + * @name google.api.ResourceDescriptor.Style + * @enum {number} + * @property {number} STYLE_UNSPECIFIED=0 STYLE_UNSPECIFIED value + * @property {number} DECLARATIVE_FRIENDLY=1 DECLARATIVE_FRIENDLY value + */ + ResourceDescriptor.Style = (function() { + var valuesById = {}, values = Object.create(valuesById); + values[valuesById[0] = "STYLE_UNSPECIFIED"] = 0; + values[valuesById[1] = "DECLARATIVE_FRIENDLY"] = 1; + return values; + })(); + + return ResourceDescriptor; + })(); + + api.ResourceReference = (function() { + + /** + * Properties of a ResourceReference. + * @memberof google.api + * @interface IResourceReference + * @property {string|null} [type] ResourceReference type + * @property {string|null} [childType] ResourceReference childType + */ + + /** + * Constructs a new ResourceReference. + * @memberof google.api + * @classdesc Represents a ResourceReference. + * @implements IResourceReference + * @constructor + * @param {google.api.IResourceReference=} [properties] Properties to set + */ + function ResourceReference(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * ResourceReference type. + * @member {string} type + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.type = ""; + + /** + * ResourceReference childType. + * @member {string} childType + * @memberof google.api.ResourceReference + * @instance + */ + ResourceReference.prototype.childType = ""; + + /** + * Creates a new ResourceReference instance using the specified properties. + * @function create + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference=} [properties] Properties to set + * @returns {google.api.ResourceReference} ResourceReference instance + */ + ResourceReference.create = function create(properties) { + return new ResourceReference(properties); + }; + + /** + * Encodes the specified ResourceReference message. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encode + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.type != null && Object.hasOwnProperty.call(message, "type")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.type); + if (message.childType != null && Object.hasOwnProperty.call(message, "childType")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.childType); + return writer; + }; + + /** + * Encodes the specified ResourceReference message, length delimited. Does not implicitly {@link google.api.ResourceReference.verify|verify} messages. + * @function encodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {google.api.IResourceReference} message ResourceReference message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + ResourceReference.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer. + * @function decode + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.api.ResourceReference(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.type = reader.string(); + break; + } + case 2: { + message.childType = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a ResourceReference message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.api.ResourceReference + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.api.ResourceReference} ResourceReference + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + ResourceReference.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a ResourceReference message. + * @function verify + * @memberof google.api.ResourceReference + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + ResourceReference.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.type != null && message.hasOwnProperty("type")) + if (!$util.isString(message.type)) + return "type: string expected"; + if (message.childType != null && message.hasOwnProperty("childType")) + if (!$util.isString(message.childType)) + return "childType: string expected"; + return null; + }; + + /** + * Creates a ResourceReference message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.api.ResourceReference + * @static + * @param {Object.} object Plain object + * @returns {google.api.ResourceReference} ResourceReference + */ + ResourceReference.fromObject = function fromObject(object) { + if (object instanceof $root.google.api.ResourceReference) + return object; + var message = new $root.google.api.ResourceReference(); + if (object.type != null) + message.type = String(object.type); + if (object.childType != null) + message.childType = String(object.childType); + return message; + }; + + /** + * Creates a plain object from a ResourceReference message. Also converts values to other types if specified. + * @function toObject + * @memberof google.api.ResourceReference + * @static + * @param {google.api.ResourceReference} message ResourceReference + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + ResourceReference.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.type = ""; + object.childType = ""; + } + if (message.type != null && message.hasOwnProperty("type")) + object.type = message.type; + if (message.childType != null && message.hasOwnProperty("childType")) + object.childType = message.childType; + return object; + }; + + /** + * Converts this ResourceReference to JSON. + * @function toJSON + * @memberof google.api.ResourceReference + * @instance + * @returns {Object.} JSON object + */ + ResourceReference.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for ResourceReference + * @function getTypeUrl + * @memberof google.api.ResourceReference + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + ResourceReference.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.api.ResourceReference"; + }; + + return ResourceReference; + })(); + + return api; + })(); + + google.protobuf = (function() { + + /** + * Namespace protobuf. + * @memberof google + * @namespace + */ + var protobuf = {}; + + protobuf.FileDescriptorSet = (function() { + + /** + * Properties of a FileDescriptorSet. + * @memberof google.protobuf + * @interface IFileDescriptorSet + * @property {Array.|null} [file] FileDescriptorSet file + */ + + /** + * Constructs a new FileDescriptorSet. + * @memberof google.protobuf + * @classdesc Represents a FileDescriptorSet. + * @implements IFileDescriptorSet + * @constructor + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + */ + function FileDescriptorSet(properties) { + this.file = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileDescriptorSet file. + * @member {Array.} file + * @memberof google.protobuf.FileDescriptorSet + * @instance + */ + FileDescriptorSet.prototype.file = $util.emptyArray; + + /** + * Creates a new FileDescriptorSet instance using the specified properties. + * @function create + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet=} [properties] Properties to set + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet instance + */ + FileDescriptorSet.create = function create(properties) { + return new FileDescriptorSet(properties); + }; + + /** + * Encodes the specified FileDescriptorSet message. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.file != null && message.file.length) + for (var i = 0; i < message.file.length; ++i) + $root.google.protobuf.FileDescriptorProto.encode(message.file[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileDescriptorSet message, length delimited. Does not implicitly {@link google.protobuf.FileDescriptorSet.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.IFileDescriptorSet} message FileDescriptorSet message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileDescriptorSet.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileDescriptorSet(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + if (!(message.file && message.file.length)) + message.file = []; + message.file.push($root.google.protobuf.FileDescriptorProto.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileDescriptorSet message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileDescriptorSet.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileDescriptorSet message. + * @function verify + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileDescriptorSet.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.file != null && message.hasOwnProperty("file")) { + if (!Array.isArray(message.file)) + return "file: array expected"; + for (var i = 0; i < message.file.length; ++i) { + var error = $root.google.protobuf.FileDescriptorProto.verify(message.file[i]); + if (error) + return "file." + error; + } + } + return null; + }; + + /** + * Creates a FileDescriptorSet message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileDescriptorSet} FileDescriptorSet + */ + FileDescriptorSet.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileDescriptorSet) + return object; + var message = new $root.google.protobuf.FileDescriptorSet(); + if (object.file) { + if (!Array.isArray(object.file)) + throw TypeError(".google.protobuf.FileDescriptorSet.file: array expected"); + message.file = []; + for (var i = 0; i < object.file.length; ++i) { + if (typeof object.file[i] !== "object") + throw TypeError(".google.protobuf.FileDescriptorSet.file: object expected"); + message.file[i] = $root.google.protobuf.FileDescriptorProto.fromObject(object.file[i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileDescriptorSet message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileDescriptorSet + * @static + * @param {google.protobuf.FileDescriptorSet} message FileDescriptorSet + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileDescriptorSet.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.file = []; + if (message.file && message.file.length) { + object.file = []; + for (var j = 0; j < message.file.length; ++j) + object.file[j] = $root.google.protobuf.FileDescriptorProto.toObject(message.file[j], options); + } + return object; + }; + + /** + * Converts this FileDescriptorSet to JSON. + * @function toJSON + * @memberof google.protobuf.FileDescriptorSet + * @instance + * @returns {Object.} JSON object + */ + FileDescriptorSet.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * 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 + * @property {Array.|null} [".google.api.resourceDefinition"] FileOptions .google.api.resourceDefinition + */ + + /** + * Constructs a new FileOptions. + * @memberof google.protobuf + * @classdesc Represents a FileOptions. + * @implements IFileOptions + * @constructor + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + */ + function FileOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.resourceDefinition"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FileOptions javaPackage. + * @member {string} javaPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaPackage = ""; + + /** + * FileOptions javaOuterClassname. + * @member {string} javaOuterClassname + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaOuterClassname = ""; + + /** + * FileOptions javaMultipleFiles. + * @member {boolean} javaMultipleFiles + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaMultipleFiles = false; + + /** + * FileOptions javaGenerateEqualsAndHash. + * @member {boolean} javaGenerateEqualsAndHash + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenerateEqualsAndHash = false; + + /** + * FileOptions javaStringCheckUtf8. + * @member {boolean} javaStringCheckUtf8 + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaStringCheckUtf8 = false; + + /** + * FileOptions optimizeFor. + * @member {google.protobuf.FileOptions.OptimizeMode} optimizeFor + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.optimizeFor = 1; + + /** + * FileOptions goPackage. + * @member {string} goPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.goPackage = ""; + + /** + * FileOptions ccGenericServices. + * @member {boolean} ccGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccGenericServices = false; + + /** + * FileOptions javaGenericServices. + * @member {boolean} javaGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.javaGenericServices = false; + + /** + * FileOptions pyGenericServices. + * @member {boolean} pyGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.pyGenericServices = false; + + /** + * FileOptions phpGenericServices. + * @member {boolean} phpGenericServices + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpGenericServices = false; + + /** + * FileOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.deprecated = false; + + /** + * FileOptions ccEnableArenas. + * @member {boolean} ccEnableArenas + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.ccEnableArenas = true; + + /** + * FileOptions objcClassPrefix. + * @member {string} objcClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.objcClassPrefix = ""; + + /** + * FileOptions csharpNamespace. + * @member {string} csharpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.csharpNamespace = ""; + + /** + * FileOptions swiftPrefix. + * @member {string} swiftPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.swiftPrefix = ""; + + /** + * FileOptions phpClassPrefix. + * @member {string} phpClassPrefix + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpClassPrefix = ""; + + /** + * FileOptions phpNamespace. + * @member {string} phpNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpNamespace = ""; + + /** + * FileOptions phpMetadataNamespace. + * @member {string} phpMetadataNamespace + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.phpMetadataNamespace = ""; + + /** + * FileOptions rubyPackage. + * @member {string} rubyPackage + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.rubyPackage = ""; + + /** + * FileOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * FileOptions .google.api.resourceDefinition. + * @member {Array.} .google.api.resourceDefinition + * @memberof google.protobuf.FileOptions + * @instance + */ + FileOptions.prototype[".google.api.resourceDefinition"] = $util.emptyArray; + + /** + * Creates a new FileOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions=} [properties] Properties to set + * @returns {google.protobuf.FileOptions} FileOptions instance + */ + FileOptions.create = function create(properties) { + return new FileOptions(properties); + }; + + /** + * Encodes the specified FileOptions message. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.javaPackage != null && Object.hasOwnProperty.call(message, "javaPackage")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.javaPackage); + if (message.javaOuterClassname != null && Object.hasOwnProperty.call(message, "javaOuterClassname")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.javaOuterClassname); + if (message.optimizeFor != null && Object.hasOwnProperty.call(message, "optimizeFor")) + writer.uint32(/* id 9, wireType 0 =*/72).int32(message.optimizeFor); + if (message.javaMultipleFiles != null && Object.hasOwnProperty.call(message, "javaMultipleFiles")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.javaMultipleFiles); + if (message.goPackage != null && Object.hasOwnProperty.call(message, "goPackage")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.goPackage); + if (message.ccGenericServices != null && Object.hasOwnProperty.call(message, "ccGenericServices")) + writer.uint32(/* id 16, wireType 0 =*/128).bool(message.ccGenericServices); + if (message.javaGenericServices != null && Object.hasOwnProperty.call(message, "javaGenericServices")) + writer.uint32(/* id 17, wireType 0 =*/136).bool(message.javaGenericServices); + if (message.pyGenericServices != null && Object.hasOwnProperty.call(message, "pyGenericServices")) + writer.uint32(/* id 18, wireType 0 =*/144).bool(message.pyGenericServices); + if (message.javaGenerateEqualsAndHash != null && Object.hasOwnProperty.call(message, "javaGenerateEqualsAndHash")) + writer.uint32(/* id 20, wireType 0 =*/160).bool(message.javaGenerateEqualsAndHash); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 23, wireType 0 =*/184).bool(message.deprecated); + if (message.javaStringCheckUtf8 != null && Object.hasOwnProperty.call(message, "javaStringCheckUtf8")) + writer.uint32(/* id 27, wireType 0 =*/216).bool(message.javaStringCheckUtf8); + if (message.ccEnableArenas != null && Object.hasOwnProperty.call(message, "ccEnableArenas")) + writer.uint32(/* id 31, wireType 0 =*/248).bool(message.ccEnableArenas); + if (message.objcClassPrefix != null && Object.hasOwnProperty.call(message, "objcClassPrefix")) + writer.uint32(/* id 36, wireType 2 =*/290).string(message.objcClassPrefix); + if (message.csharpNamespace != null && Object.hasOwnProperty.call(message, "csharpNamespace")) + writer.uint32(/* id 37, wireType 2 =*/298).string(message.csharpNamespace); + if (message.swiftPrefix != null && Object.hasOwnProperty.call(message, "swiftPrefix")) + writer.uint32(/* id 39, wireType 2 =*/314).string(message.swiftPrefix); + if (message.phpClassPrefix != null && Object.hasOwnProperty.call(message, "phpClassPrefix")) + writer.uint32(/* id 40, wireType 2 =*/322).string(message.phpClassPrefix); + if (message.phpNamespace != null && Object.hasOwnProperty.call(message, "phpNamespace")) + writer.uint32(/* id 41, wireType 2 =*/330).string(message.phpNamespace); + if (message.phpGenericServices != null && Object.hasOwnProperty.call(message, "phpGenericServices")) + writer.uint32(/* id 42, wireType 0 =*/336).bool(message.phpGenericServices); + if (message.phpMetadataNamespace != null && Object.hasOwnProperty.call(message, "phpMetadataNamespace")) + writer.uint32(/* id 44, wireType 2 =*/354).string(message.phpMetadataNamespace); + if (message.rubyPackage != null && Object.hasOwnProperty.call(message, "rubyPackage")) + writer.uint32(/* id 45, wireType 2 =*/362).string(message.rubyPackage); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resourceDefinition"] != null && message[".google.api.resourceDefinition"].length) + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resourceDefinition"][i], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FileOptions message, length delimited. Does not implicitly {@link google.protobuf.FileOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.IFileOptions} message FileOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FileOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FileOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.javaPackage = reader.string(); + break; + } + case 8: { + message.javaOuterClassname = reader.string(); + break; + } + case 10: { + message.javaMultipleFiles = reader.bool(); + break; + } + case 20: { + message.javaGenerateEqualsAndHash = reader.bool(); + break; + } + case 27: { + message.javaStringCheckUtf8 = reader.bool(); + break; + } + case 9: { + message.optimizeFor = reader.int32(); + break; + } + case 11: { + message.goPackage = reader.string(); + break; + } + case 16: { + message.ccGenericServices = reader.bool(); + break; + } + case 17: { + message.javaGenericServices = reader.bool(); + break; + } + case 18: { + message.pyGenericServices = reader.bool(); + break; + } + case 42: { + message.phpGenericServices = reader.bool(); + break; + } + case 23: { + message.deprecated = reader.bool(); + break; + } + case 31: { + message.ccEnableArenas = reader.bool(); + break; + } + case 36: { + message.objcClassPrefix = reader.string(); + break; + } + case 37: { + message.csharpNamespace = reader.string(); + break; + } + case 39: { + message.swiftPrefix = reader.string(); + break; + } + case 40: { + message.phpClassPrefix = reader.string(); + break; + } + case 41: { + message.phpNamespace = reader.string(); + break; + } + case 44: { + message.phpMetadataNamespace = reader.string(); + break; + } + case 45: { + message.rubyPackage = reader.string(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + if (!(message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length)) + message[".google.api.resourceDefinition"] = []; + message[".google.api.resourceDefinition"].push($root.google.api.ResourceDescriptor.decode(reader, reader.uint32())); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FileOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FileOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FileOptions} FileOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FileOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FileOptions message. + * @function verify + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FileOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + if (!$util.isString(message.javaPackage)) + return "javaPackage: string expected"; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + if (!$util.isString(message.javaOuterClassname)) + return "javaOuterClassname: string expected"; + if (message.javaMultipleFiles != null && message.hasOwnProperty("javaMultipleFiles")) + if (typeof message.javaMultipleFiles !== "boolean") + return "javaMultipleFiles: boolean expected"; + if (message.javaGenerateEqualsAndHash != null && message.hasOwnProperty("javaGenerateEqualsAndHash")) + if (typeof message.javaGenerateEqualsAndHash !== "boolean") + return "javaGenerateEqualsAndHash: boolean expected"; + if (message.javaStringCheckUtf8 != null && message.hasOwnProperty("javaStringCheckUtf8")) + if (typeof message.javaStringCheckUtf8 !== "boolean") + return "javaStringCheckUtf8: boolean expected"; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + switch (message.optimizeFor) { + default: + return "optimizeFor: enum value expected"; + case 1: + case 2: + case 3: + break; + } + if (message.goPackage != null && message.hasOwnProperty("goPackage")) + if (!$util.isString(message.goPackage)) + return "goPackage: string expected"; + if (message.ccGenericServices != null && message.hasOwnProperty("ccGenericServices")) + if (typeof message.ccGenericServices !== "boolean") + return "ccGenericServices: boolean expected"; + if (message.javaGenericServices != null && message.hasOwnProperty("javaGenericServices")) + if (typeof message.javaGenericServices !== "boolean") + return "javaGenericServices: boolean expected"; + if (message.pyGenericServices != null && message.hasOwnProperty("pyGenericServices")) + if (typeof message.pyGenericServices !== "boolean") + return "pyGenericServices: boolean expected"; + if (message.phpGenericServices != null && message.hasOwnProperty("phpGenericServices")) + if (typeof message.phpGenericServices !== "boolean") + return "phpGenericServices: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.ccEnableArenas != null && message.hasOwnProperty("ccEnableArenas")) + if (typeof message.ccEnableArenas !== "boolean") + return "ccEnableArenas: boolean expected"; + if (message.objcClassPrefix != null && message.hasOwnProperty("objcClassPrefix")) + if (!$util.isString(message.objcClassPrefix)) + return "objcClassPrefix: string expected"; + if (message.csharpNamespace != null && message.hasOwnProperty("csharpNamespace")) + if (!$util.isString(message.csharpNamespace)) + return "csharpNamespace: string expected"; + if (message.swiftPrefix != null && message.hasOwnProperty("swiftPrefix")) + if (!$util.isString(message.swiftPrefix)) + return "swiftPrefix: string expected"; + if (message.phpClassPrefix != null && message.hasOwnProperty("phpClassPrefix")) + if (!$util.isString(message.phpClassPrefix)) + return "phpClassPrefix: string expected"; + if (message.phpNamespace != null && message.hasOwnProperty("phpNamespace")) + if (!$util.isString(message.phpNamespace)) + return "phpNamespace: string expected"; + if (message.phpMetadataNamespace != null && message.hasOwnProperty("phpMetadataNamespace")) + if (!$util.isString(message.phpMetadataNamespace)) + return "phpMetadataNamespace: string expected"; + if (message.rubyPackage != null && message.hasOwnProperty("rubyPackage")) + if (!$util.isString(message.rubyPackage)) + return "rubyPackage: string expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resourceDefinition"] != null && message.hasOwnProperty(".google.api.resourceDefinition")) { + if (!Array.isArray(message[".google.api.resourceDefinition"])) + return ".google.api.resourceDefinition: array expected"; + for (var i = 0; i < message[".google.api.resourceDefinition"].length; ++i) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resourceDefinition"][i]); + if (error) + return ".google.api.resourceDefinition." + error; + } + } + return null; + }; + + /** + * Creates a FileOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FileOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FileOptions} FileOptions + */ + FileOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FileOptions) + return object; + var message = new $root.google.protobuf.FileOptions(); + if (object.javaPackage != null) + message.javaPackage = String(object.javaPackage); + if (object.javaOuterClassname != null) + message.javaOuterClassname = String(object.javaOuterClassname); + if (object.javaMultipleFiles != null) + message.javaMultipleFiles = Boolean(object.javaMultipleFiles); + if (object.javaGenerateEqualsAndHash != null) + message.javaGenerateEqualsAndHash = Boolean(object.javaGenerateEqualsAndHash); + if (object.javaStringCheckUtf8 != null) + message.javaStringCheckUtf8 = Boolean(object.javaStringCheckUtf8); + switch (object.optimizeFor) { + 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]); + } + } + if (object[".google.api.resourceDefinition"]) { + if (!Array.isArray(object[".google.api.resourceDefinition"])) + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: array expected"); + message[".google.api.resourceDefinition"] = []; + for (var i = 0; i < object[".google.api.resourceDefinition"].length; ++i) { + if (typeof object[".google.api.resourceDefinition"][i] !== "object") + throw TypeError(".google.protobuf.FileOptions..google.api.resourceDefinition: object expected"); + message[".google.api.resourceDefinition"][i] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resourceDefinition"][i]); + } + } + return message; + }; + + /** + * Creates a plain object from a FileOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FileOptions + * @static + * @param {google.protobuf.FileOptions} message FileOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FileOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.resourceDefinition"] = []; + } + if (options.defaults) { + object.javaPackage = ""; + object.javaOuterClassname = ""; + object.optimizeFor = options.enums === String ? "SPEED" : 1; + object.javaMultipleFiles = false; + object.goPackage = ""; + object.ccGenericServices = false; + object.javaGenericServices = false; + object.pyGenericServices = false; + object.javaGenerateEqualsAndHash = false; + object.deprecated = false; + object.javaStringCheckUtf8 = false; + object.ccEnableArenas = true; + object.objcClassPrefix = ""; + object.csharpNamespace = ""; + object.swiftPrefix = ""; + object.phpClassPrefix = ""; + object.phpNamespace = ""; + object.phpGenericServices = false; + object.phpMetadataNamespace = ""; + object.rubyPackage = ""; + } + if (message.javaPackage != null && message.hasOwnProperty("javaPackage")) + object.javaPackage = message.javaPackage; + if (message.javaOuterClassname != null && message.hasOwnProperty("javaOuterClassname")) + object.javaOuterClassname = message.javaOuterClassname; + if (message.optimizeFor != null && message.hasOwnProperty("optimizeFor")) + object.optimizeFor = options.enums === String ? $root.google.protobuf.FileOptions.OptimizeMode[message.optimizeFor] === 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); + } + if (message[".google.api.resourceDefinition"] && message[".google.api.resourceDefinition"].length) { + object[".google.api.resourceDefinition"] = []; + for (var j = 0; j < message[".google.api.resourceDefinition"].length; ++j) + object[".google.api.resourceDefinition"][j] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resourceDefinition"][j], options); + } + return object; + }; + + /** + * Converts this FileOptions to JSON. + * @function toJSON + * @memberof google.protobuf.FileOptions + * @instance + * @returns {Object.} JSON object + */ + FileOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * 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 + * @property {google.api.IResourceDescriptor|null} [".google.api.resource"] MessageOptions .google.api.resource + */ + + /** + * Constructs a new MessageOptions. + * @memberof google.protobuf + * @classdesc Represents a MessageOptions. + * @implements IMessageOptions + * @constructor + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + */ + function MessageOptions(properties) { + this.uninterpretedOption = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * MessageOptions messageSetWireFormat. + * @member {boolean} messageSetWireFormat + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.messageSetWireFormat = false; + + /** + * MessageOptions noStandardDescriptorAccessor. + * @member {boolean} noStandardDescriptorAccessor + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.noStandardDescriptorAccessor = false; + + /** + * MessageOptions deprecated. + * @member {boolean} deprecated + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.deprecated = false; + + /** + * MessageOptions mapEntry. + * @member {boolean} mapEntry + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.mapEntry = false; + + /** + * MessageOptions uninterpretedOption. + * @member {Array.} uninterpretedOption + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype.uninterpretedOption = $util.emptyArray; + + /** + * MessageOptions .google.api.resource. + * @member {google.api.IResourceDescriptor|null|undefined} .google.api.resource + * @memberof google.protobuf.MessageOptions + * @instance + */ + MessageOptions.prototype[".google.api.resource"] = null; + + /** + * Creates a new MessageOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions=} [properties] Properties to set + * @returns {google.protobuf.MessageOptions} MessageOptions instance + */ + MessageOptions.create = function create(properties) { + return new MessageOptions(properties); + }; + + /** + * Encodes the specified MessageOptions message. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.messageSetWireFormat != null && Object.hasOwnProperty.call(message, "messageSetWireFormat")) + writer.uint32(/* id 1, wireType 0 =*/8).bool(message.messageSetWireFormat); + if (message.noStandardDescriptorAccessor != null && Object.hasOwnProperty.call(message, "noStandardDescriptorAccessor")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.noStandardDescriptorAccessor); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.mapEntry != null && Object.hasOwnProperty.call(message, "mapEntry")) + writer.uint32(/* id 7, wireType 0 =*/56).bool(message.mapEntry); + if (message.uninterpretedOption != null && message.uninterpretedOption.length) + for (var i = 0; i < message.uninterpretedOption.length; ++i) + $root.google.protobuf.UninterpretedOption.encode(message.uninterpretedOption[i], writer.uint32(/* id 999, wireType 2 =*/7994).fork()).ldelim(); + if (message[".google.api.resource"] != null && Object.hasOwnProperty.call(message, ".google.api.resource")) + $root.google.api.ResourceDescriptor.encode(message[".google.api.resource"], writer.uint32(/* id 1053, wireType 2 =*/8426).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified MessageOptions message, length delimited. Does not implicitly {@link google.protobuf.MessageOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.IMessageOptions} message MessageOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + MessageOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.MessageOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.messageSetWireFormat = reader.bool(); + break; + } + case 2: { + message.noStandardDescriptorAccessor = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 7: { + message.mapEntry = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1053: { + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a MessageOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.MessageOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.MessageOptions} MessageOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + MessageOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a MessageOptions message. + * @function verify + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + MessageOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + if (typeof message.messageSetWireFormat !== "boolean") + return "messageSetWireFormat: boolean expected"; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + if (typeof message.noStandardDescriptorAccessor !== "boolean") + return "noStandardDescriptorAccessor: boolean expected"; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + if (typeof message.deprecated !== "boolean") + return "deprecated: boolean expected"; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + if (typeof message.mapEntry !== "boolean") + return "mapEntry: boolean expected"; + if (message.uninterpretedOption != null && message.hasOwnProperty("uninterpretedOption")) { + if (!Array.isArray(message.uninterpretedOption)) + return "uninterpretedOption: array expected"; + for (var i = 0; i < message.uninterpretedOption.length; ++i) { + var error = $root.google.protobuf.UninterpretedOption.verify(message.uninterpretedOption[i]); + if (error) + return "uninterpretedOption." + error; + } + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) { + var error = $root.google.api.ResourceDescriptor.verify(message[".google.api.resource"]); + if (error) + return ".google.api.resource." + error; + } + return null; + }; + + /** + * Creates a MessageOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.MessageOptions} MessageOptions + */ + MessageOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.MessageOptions) + return object; + var message = new $root.google.protobuf.MessageOptions(); + if (object.messageSetWireFormat != null) + message.messageSetWireFormat = Boolean(object.messageSetWireFormat); + if (object.noStandardDescriptorAccessor != null) + message.noStandardDescriptorAccessor = Boolean(object.noStandardDescriptorAccessor); + if (object.deprecated != null) + message.deprecated = Boolean(object.deprecated); + if (object.mapEntry != null) + message.mapEntry = Boolean(object.mapEntry); + if (object.uninterpretedOption) { + if (!Array.isArray(object.uninterpretedOption)) + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: array expected"); + message.uninterpretedOption = []; + for (var i = 0; i < object.uninterpretedOption.length; ++i) { + if (typeof object.uninterpretedOption[i] !== "object") + throw TypeError(".google.protobuf.MessageOptions.uninterpretedOption: object expected"); + message.uninterpretedOption[i] = $root.google.protobuf.UninterpretedOption.fromObject(object.uninterpretedOption[i]); + } + } + if (object[".google.api.resource"] != null) { + if (typeof object[".google.api.resource"] !== "object") + throw TypeError(".google.protobuf.MessageOptions..google.api.resource: object expected"); + message[".google.api.resource"] = $root.google.api.ResourceDescriptor.fromObject(object[".google.api.resource"]); + } + return message; + }; + + /** + * Creates a plain object from a MessageOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.MessageOptions + * @static + * @param {google.protobuf.MessageOptions} message MessageOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + MessageOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) + object.uninterpretedOption = []; + if (options.defaults) { + object.messageSetWireFormat = false; + object.noStandardDescriptorAccessor = false; + object.deprecated = false; + object.mapEntry = false; + object[".google.api.resource"] = null; + } + if (message.messageSetWireFormat != null && message.hasOwnProperty("messageSetWireFormat")) + object.messageSetWireFormat = message.messageSetWireFormat; + if (message.noStandardDescriptorAccessor != null && message.hasOwnProperty("noStandardDescriptorAccessor")) + object.noStandardDescriptorAccessor = message.noStandardDescriptorAccessor; + if (message.deprecated != null && message.hasOwnProperty("deprecated")) + object.deprecated = message.deprecated; + if (message.mapEntry != null && message.hasOwnProperty("mapEntry")) + object.mapEntry = message.mapEntry; + if (message.uninterpretedOption && message.uninterpretedOption.length) { + object.uninterpretedOption = []; + for (var j = 0; j < message.uninterpretedOption.length; ++j) + object.uninterpretedOption[j] = $root.google.protobuf.UninterpretedOption.toObject(message.uninterpretedOption[j], options); + } + if (message[".google.api.resource"] != null && message.hasOwnProperty(".google.api.resource")) + object[".google.api.resource"] = $root.google.api.ResourceDescriptor.toObject(message[".google.api.resource"], options); + return object; + }; + + /** + * Converts this MessageOptions to JSON. + * @function toJSON + * @memberof google.protobuf.MessageOptions + * @instance + * @returns {Object.} JSON object + */ + MessageOptions.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * 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 + * @property {Array.|null} [".google.api.fieldBehavior"] FieldOptions .google.api.fieldBehavior + * @property {google.api.IResourceReference|null} [".google.api.resourceReference"] FieldOptions .google.api.resourceReference + */ + + /** + * Constructs a new FieldOptions. + * @memberof google.protobuf + * @classdesc Represents a FieldOptions. + * @implements IFieldOptions + * @constructor + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + */ + function FieldOptions(properties) { + this.uninterpretedOption = []; + this[".google.api.fieldBehavior"] = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * FieldOptions ctype. + * @member {google.protobuf.FieldOptions.CType} ctype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.ctype = 0; + + /** + * FieldOptions packed. + * @member {boolean} packed + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.packed = false; + + /** + * FieldOptions jstype. + * @member {google.protobuf.FieldOptions.JSType} jstype + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.jstype = 0; + + /** + * FieldOptions lazy. + * @member {boolean} lazy + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype.lazy = false; + + /** + * FieldOptions 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; + + /** + * FieldOptions .google.api.fieldBehavior. + * @member {Array.} .google.api.fieldBehavior + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.fieldBehavior"] = $util.emptyArray; + + /** + * FieldOptions .google.api.resourceReference. + * @member {google.api.IResourceReference|null|undefined} .google.api.resourceReference + * @memberof google.protobuf.FieldOptions + * @instance + */ + FieldOptions.prototype[".google.api.resourceReference"] = null; + + /** + * Creates a new FieldOptions instance using the specified properties. + * @function create + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions=} [properties] Properties to set + * @returns {google.protobuf.FieldOptions} FieldOptions instance + */ + FieldOptions.create = function create(properties) { + return new FieldOptions(properties); + }; + + /** + * Encodes the specified FieldOptions message. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encode + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.ctype != null && Object.hasOwnProperty.call(message, "ctype")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.ctype); + if (message.packed != null && Object.hasOwnProperty.call(message, "packed")) + writer.uint32(/* id 2, wireType 0 =*/16).bool(message.packed); + if (message.deprecated != null && Object.hasOwnProperty.call(message, "deprecated")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.deprecated); + if (message.lazy != null && Object.hasOwnProperty.call(message, "lazy")) + writer.uint32(/* id 5, wireType 0 =*/40).bool(message.lazy); + if (message.jstype != null && Object.hasOwnProperty.call(message, "jstype")) + writer.uint32(/* id 6, wireType 0 =*/48).int32(message.jstype); + if (message.weak != null && Object.hasOwnProperty.call(message, "weak")) + writer.uint32(/* id 10, wireType 0 =*/80).bool(message.weak); + if (message.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(); + if (message[".google.api.fieldBehavior"] != null && message[".google.api.fieldBehavior"].length) { + writer.uint32(/* id 1052, wireType 2 =*/8418).fork(); + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + writer.int32(message[".google.api.fieldBehavior"][i]); + writer.ldelim(); + } + if (message[".google.api.resourceReference"] != null && Object.hasOwnProperty.call(message, ".google.api.resourceReference")) + $root.google.api.ResourceReference.encode(message[".google.api.resourceReference"], writer.uint32(/* id 1055, wireType 2 =*/8442).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified FieldOptions message, length delimited. Does not implicitly {@link google.protobuf.FieldOptions.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.IFieldOptions} message FieldOptions message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + FieldOptions.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.FieldOptions(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.ctype = reader.int32(); + break; + } + case 2: { + message.packed = reader.bool(); + break; + } + case 6: { + message.jstype = reader.int32(); + break; + } + case 5: { + message.lazy = reader.bool(); + break; + } + case 15: { + message.unverifiedLazy = reader.bool(); + break; + } + case 3: { + message.deprecated = reader.bool(); + break; + } + case 10: { + message.weak = reader.bool(); + break; + } + case 999: { + if (!(message.uninterpretedOption && message.uninterpretedOption.length)) + message.uninterpretedOption = []; + message.uninterpretedOption.push($root.google.protobuf.UninterpretedOption.decode(reader, reader.uint32())); + break; + } + case 1052: { + if (!(message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length)) + message[".google.api.fieldBehavior"] = []; + if ((tag & 7) === 2) { + var end2 = reader.uint32() + reader.pos; + while (reader.pos < end2) + message[".google.api.fieldBehavior"].push(reader.int32()); + } else + message[".google.api.fieldBehavior"].push(reader.int32()); + break; + } + case 1055: { + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a FieldOptions message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.FieldOptions + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.FieldOptions} FieldOptions + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + FieldOptions.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a FieldOptions message. + * @function verify + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + FieldOptions.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.ctype != null && message.hasOwnProperty("ctype")) + switch (message.ctype) { + default: + return "ctype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.packed != null && message.hasOwnProperty("packed")) + if (typeof message.packed !== "boolean") + return "packed: boolean expected"; + if (message.jstype != null && message.hasOwnProperty("jstype")) + switch (message.jstype) { + default: + return "jstype: enum value expected"; + case 0: + case 1: + case 2: + break; + } + if (message.lazy != null && message.hasOwnProperty("lazy")) + if (typeof message.lazy !== "boolean") + return "lazy: boolean expected"; + if (message.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; + } + } + if (message[".google.api.fieldBehavior"] != null && message.hasOwnProperty(".google.api.fieldBehavior")) { + if (!Array.isArray(message[".google.api.fieldBehavior"])) + return ".google.api.fieldBehavior: array expected"; + for (var i = 0; i < message[".google.api.fieldBehavior"].length; ++i) + switch (message[".google.api.fieldBehavior"][i]) { + default: + return ".google.api.fieldBehavior: enum value[] expected"; + case 0: + case 1: + case 2: + case 3: + case 4: + case 5: + case 6: + case 7: + break; + } + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) { + var error = $root.google.api.ResourceReference.verify(message[".google.api.resourceReference"]); + if (error) + return ".google.api.resourceReference." + error; + } + return null; + }; + + /** + * Creates a FieldOptions message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.FieldOptions} FieldOptions + */ + FieldOptions.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.FieldOptions) + return object; + var message = new $root.google.protobuf.FieldOptions(); + switch (object.ctype) { + 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]); + } + } + if (object[".google.api.fieldBehavior"]) { + if (!Array.isArray(object[".google.api.fieldBehavior"])) + throw TypeError(".google.protobuf.FieldOptions..google.api.fieldBehavior: array expected"); + message[".google.api.fieldBehavior"] = []; + for (var i = 0; i < object[".google.api.fieldBehavior"].length; ++i) + switch (object[".google.api.fieldBehavior"][i]) { + default: + if (typeof object[".google.api.fieldBehavior"][i] === "number") { + message[".google.api.fieldBehavior"][i] = object[".google.api.fieldBehavior"][i]; + break; + } + case "FIELD_BEHAVIOR_UNSPECIFIED": + case 0: + message[".google.api.fieldBehavior"][i] = 0; + break; + case "OPTIONAL": + case 1: + message[".google.api.fieldBehavior"][i] = 1; + break; + case "REQUIRED": + case 2: + message[".google.api.fieldBehavior"][i] = 2; + break; + case "OUTPUT_ONLY": + case 3: + message[".google.api.fieldBehavior"][i] = 3; + break; + case "INPUT_ONLY": + case 4: + message[".google.api.fieldBehavior"][i] = 4; + break; + case "IMMUTABLE": + case 5: + message[".google.api.fieldBehavior"][i] = 5; + break; + case "UNORDERED_LIST": + case 6: + message[".google.api.fieldBehavior"][i] = 6; + break; + case "NON_EMPTY_DEFAULT": + case 7: + message[".google.api.fieldBehavior"][i] = 7; + break; + } + } + if (object[".google.api.resourceReference"] != null) { + if (typeof object[".google.api.resourceReference"] !== "object") + throw TypeError(".google.protobuf.FieldOptions..google.api.resourceReference: object expected"); + message[".google.api.resourceReference"] = $root.google.api.ResourceReference.fromObject(object[".google.api.resourceReference"]); + } + return message; + }; + + /** + * Creates a plain object from a FieldOptions message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.FieldOptions + * @static + * @param {google.protobuf.FieldOptions} message FieldOptions + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + FieldOptions.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.uninterpretedOption = []; + object[".google.api.fieldBehavior"] = []; + } + if (options.defaults) { + object.ctype = options.enums === String ? "STRING" : 0; + object.packed = false; + object.deprecated = false; + object.lazy = false; + object.jstype = options.enums === String ? "JS_NORMAL" : 0; + object.weak = false; + object.unverifiedLazy = false; + object[".google.api.resourceReference"] = null; + } + if (message.ctype != null && message.hasOwnProperty("ctype")) + object.ctype = options.enums === String ? $root.google.protobuf.FieldOptions.CType[message.ctype] === 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); + } + if (message[".google.api.fieldBehavior"] && message[".google.api.fieldBehavior"].length) { + object[".google.api.fieldBehavior"] = []; + for (var j = 0; j < message[".google.api.fieldBehavior"].length; ++j) + object[".google.api.fieldBehavior"][j] = options.enums === String ? $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] === undefined ? message[".google.api.fieldBehavior"][j] : $root.google.api.FieldBehavior[message[".google.api.fieldBehavior"][j]] : message[".google.api.fieldBehavior"][j]; + } + if (message[".google.api.resourceReference"] != null && message.hasOwnProperty(".google.api.resourceReference")) + object[".google.api.resourceReference"] = $root.google.api.ResourceReference.toObject(message[".google.api.resourceReference"], options); + 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.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.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; + })(); + + protobuf.Timestamp = (function() { + + /** + * Properties of a Timestamp. + * @memberof google.protobuf + * @interface ITimestamp + * @property {number|Long|null} [seconds] Timestamp seconds + * @property {number|null} [nanos] Timestamp nanos + */ + + /** + * Constructs a new Timestamp. + * @memberof google.protobuf + * @classdesc Represents a Timestamp. + * @implements ITimestamp + * @constructor + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + */ + function Timestamp(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Timestamp seconds. + * @member {number|Long} seconds + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.seconds = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Timestamp nanos. + * @member {number} nanos + * @memberof google.protobuf.Timestamp + * @instance + */ + Timestamp.prototype.nanos = 0; + + /** + * Creates a new Timestamp instance using the specified properties. + * @function create + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp=} [properties] Properties to set + * @returns {google.protobuf.Timestamp} Timestamp instance + */ + Timestamp.create = function create(properties) { + return new Timestamp(properties); + }; + + /** + * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encode + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.seconds != null && Object.hasOwnProperty.call(message, "seconds")) + writer.uint32(/* id 1, wireType 0 =*/8).int64(message.seconds); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 2, wireType 0 =*/16).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages. + * @function encodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.ITimestamp} message Timestamp message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Timestamp.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer. + * @function decode + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.protobuf.Timestamp(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.seconds = reader.int64(); + break; + } + case 2: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Timestamp message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.protobuf.Timestamp + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.protobuf.Timestamp} Timestamp + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Timestamp.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Timestamp message. + * @function verify + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Timestamp.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (!$util.isInteger(message.seconds) && !(message.seconds && $util.isInteger(message.seconds.low) && $util.isInteger(message.seconds.high))) + return "seconds: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Timestamp message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.protobuf.Timestamp + * @static + * @param {Object.} object Plain object + * @returns {google.protobuf.Timestamp} Timestamp + */ + Timestamp.fromObject = function fromObject(object) { + if (object instanceof $root.google.protobuf.Timestamp) + return object; + var message = new $root.google.protobuf.Timestamp(); + if (object.seconds != null) + if ($util.Long) + (message.seconds = $util.Long.fromValue(object.seconds)).unsigned = false; + else if (typeof object.seconds === "string") + message.seconds = parseInt(object.seconds, 10); + else if (typeof object.seconds === "number") + message.seconds = object.seconds; + else if (typeof object.seconds === "object") + message.seconds = new $util.LongBits(object.seconds.low >>> 0, object.seconds.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Timestamp message. Also converts values to other types if specified. + * @function toObject + * @memberof google.protobuf.Timestamp + * @static + * @param {google.protobuf.Timestamp} message Timestamp + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Timestamp.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.seconds = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.seconds = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.seconds != null && message.hasOwnProperty("seconds")) + if (typeof message.seconds === "number") + object.seconds = options.longs === String ? String(message.seconds) : message.seconds; + else + object.seconds = options.longs === String ? $util.Long.prototype.toString.call(message.seconds) : options.longs === Number ? new $util.LongBits(message.seconds.low >>> 0, message.seconds.high >>> 0).toNumber() : message.seconds; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Timestamp to JSON. + * @function toJSON + * @memberof google.protobuf.Timestamp + * @instance + * @returns {Object.} JSON object + */ + Timestamp.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Timestamp + * @function getTypeUrl + * @memberof google.protobuf.Timestamp + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Timestamp.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.protobuf.Timestamp"; + }; + + return Timestamp; + })(); + + return protobuf; + })(); + + google.longrunning = (function() { + + /** + * Namespace longrunning. + * @memberof google + * @namespace + */ + var longrunning = {}; + + longrunning.Operations = (function() { + + /** + * Constructs a new Operations service. + * @memberof google.longrunning + * @classdesc Represents an Operations + * @extends $protobuf.rpc.Service + * @constructor + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + */ + function Operations(rpcImpl, requestDelimited, responseDelimited) { + $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited); + } + + (Operations.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = Operations; + + /** + * Creates new Operations service using the specified rpc implementation. + * @function create + * @memberof google.longrunning.Operations + * @static + * @param {$protobuf.RPCImpl} rpcImpl RPC implementation + * @param {boolean} [requestDelimited=false] Whether requests are length-delimited + * @param {boolean} [responseDelimited=false] Whether responses are length-delimited + * @returns {Operations} RPC service. Useful where requests and/or responses are streamed. + */ + Operations.create = function create(rpcImpl, requestDelimited, responseDelimited) { + return new this(rpcImpl, requestDelimited, responseDelimited); + }; + + /** + * Callback as used by {@link google.longrunning.Operations|listOperations}. + * @memberof google.longrunning.Operations + * @typedef ListOperationsCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.ListOperationsResponse} [response] ListOperationsResponse + */ + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @param {google.longrunning.Operations.ListOperationsCallback} callback Node-style callback called with the error, if any, and ListOperationsResponse + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.listOperations = function listOperations(request, callback) { + return this.rpcCall(listOperations, $root.google.longrunning.ListOperationsRequest, $root.google.longrunning.ListOperationsResponse, request, callback); + }, "name", { value: "ListOperations" }); + + /** + * Calls ListOperations. + * @function listOperations + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IListOperationsRequest} request ListOperationsRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|getOperation}. + * @memberof google.longrunning.Operations + * @typedef GetOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @param {google.longrunning.Operations.GetOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.getOperation = function getOperation(request, callback) { + return this.rpcCall(getOperation, $root.google.longrunning.GetOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "GetOperation" }); + + /** + * Calls GetOperation. + * @function getOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IGetOperationRequest} request GetOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|deleteOperation}. + * @memberof google.longrunning.Operations + * @typedef DeleteOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @param {google.longrunning.Operations.DeleteOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.deleteOperation = function deleteOperation(request, callback) { + return this.rpcCall(deleteOperation, $root.google.longrunning.DeleteOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "DeleteOperation" }); + + /** + * Calls DeleteOperation. + * @function deleteOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IDeleteOperationRequest} request DeleteOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|cancelOperation}. + * @memberof google.longrunning.Operations + * @typedef CancelOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.protobuf.Empty} [response] Empty + */ + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @param {google.longrunning.Operations.CancelOperationCallback} callback Node-style callback called with the error, if any, and Empty + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.cancelOperation = function cancelOperation(request, callback) { + return this.rpcCall(cancelOperation, $root.google.longrunning.CancelOperationRequest, $root.google.protobuf.Empty, request, callback); + }, "name", { value: "CancelOperation" }); + + /** + * Calls CancelOperation. + * @function cancelOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.ICancelOperationRequest} request CancelOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + /** + * Callback as used by {@link google.longrunning.Operations|waitOperation}. + * @memberof google.longrunning.Operations + * @typedef WaitOperationCallback + * @type {function} + * @param {Error|null} error Error, if any + * @param {google.longrunning.Operation} [response] Operation + */ + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @param {google.longrunning.Operations.WaitOperationCallback} callback Node-style callback called with the error, if any, and Operation + * @returns {undefined} + * @variation 1 + */ + Object.defineProperty(Operations.prototype.waitOperation = function waitOperation(request, callback) { + return this.rpcCall(waitOperation, $root.google.longrunning.WaitOperationRequest, $root.google.longrunning.Operation, request, callback); + }, "name", { value: "WaitOperation" }); + + /** + * Calls WaitOperation. + * @function waitOperation + * @memberof google.longrunning.Operations + * @instance + * @param {google.longrunning.IWaitOperationRequest} request WaitOperationRequest message or plain object + * @returns {Promise} Promise + * @variation 2 + */ + + return Operations; + })(); + + longrunning.Operation = (function() { + + /** + * Properties of an Operation. + * @memberof google.longrunning + * @interface IOperation + * @property {string|null} [name] Operation name + * @property {google.protobuf.IAny|null} [metadata] Operation metadata + * @property {boolean|null} [done] Operation done + * @property {google.rpc.IStatus|null} [error] Operation error + * @property {google.protobuf.IAny|null} [response] Operation response + */ + + /** + * Constructs a new Operation. + * @memberof google.longrunning + * @classdesc Represents an Operation. + * @implements IOperation + * @constructor + * @param {google.longrunning.IOperation=} [properties] Properties to set + */ + function Operation(properties) { + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * Operation name. + * @member {string} name + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.name = ""; + + /** + * Operation metadata. + * @member {google.protobuf.IAny|null|undefined} metadata + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.metadata = null; + + /** + * Operation done. + * @member {boolean} done + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.done = false; + + /** + * Operation error. + * @member {google.rpc.IStatus|null|undefined} error + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.error = null; + + /** + * Operation response. + * @member {google.protobuf.IAny|null|undefined} response + * @memberof google.longrunning.Operation + * @instance + */ + Operation.prototype.response = null; + + // OneOf field names bound to virtual getters and setters + var $oneOfFields; + + /** + * Operation result. + * @member {"error"|"response"|undefined} result + * @memberof google.longrunning.Operation + * @instance + */ + Object.defineProperty(Operation.prototype, "result", { + get: $util.oneOfGetter($oneOfFields = ["error", "response"]), + set: $util.oneOfSetter($oneOfFields) + }); + + /** + * Creates a new Operation instance using the specified properties. + * @function create + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation=} [properties] Properties to set + * @returns {google.longrunning.Operation} Operation instance + */ + Operation.create = function create(properties) { + return new Operation(properties); + }; + + /** + * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encode + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.name != null && Object.hasOwnProperty.call(message, "name")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.name); + if (message.metadata != null && Object.hasOwnProperty.call(message, "metadata")) + $root.google.protobuf.Any.encode(message.metadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim(); + if (message.done != null && Object.hasOwnProperty.call(message, "done")) + writer.uint32(/* id 3, wireType 0 =*/24).bool(message.done); + if (message.error != null && Object.hasOwnProperty.call(message, "error")) + $root.google.rpc.Status.encode(message.error, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim(); + if (message.response != null && Object.hasOwnProperty.call(message, "response")) + $root.google.protobuf.Any.encode(message.response, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim(); + return writer; + }; + + /** + * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages. + * @function encodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.IOperation} message Operation message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Operation.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes an Operation message from the specified reader or buffer. + * @function decode + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.longrunning.Operation(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.name = reader.string(); + break; + } + case 2: { + message.metadata = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + case 3: { + message.done = reader.bool(); + break; + } + case 4: { + message.error = $root.google.rpc.Status.decode(reader, reader.uint32()); + break; + } + case 5: { + message.response = $root.google.protobuf.Any.decode(reader, reader.uint32()); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes an Operation message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.longrunning.Operation + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.longrunning.Operation} Operation + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Operation.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies an Operation message. + * @function verify + * @memberof google.longrunning.Operation + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Operation.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + var properties = {}; + if (message.name != null && message.hasOwnProperty("name")) + if (!$util.isString(message.name)) + return "name: string expected"; + if (message.metadata != null && message.hasOwnProperty("metadata")) { + var error = $root.google.protobuf.Any.verify(message.metadata); + if (error) + return "metadata." + error; + } + if (message.done != null && message.hasOwnProperty("done")) + if (typeof message.done !== "boolean") + return "done: boolean expected"; + if (message.error != null && message.hasOwnProperty("error")) { + properties.result = 1; + { + var error = $root.google.rpc.Status.verify(message.error); + if (error) + return "error." + error; + } + } + if (message.response != null && message.hasOwnProperty("response")) { + if (properties.result === 1) + return "result: multiple values"; + properties.result = 1; + { + var error = $root.google.protobuf.Any.verify(message.response); + if (error) + return "response." + error; + } + } + return null; + }; + + /** + * Creates an Operation message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.longrunning.Operation + * @static + * @param {Object.} object Plain object + * @returns {google.longrunning.Operation} Operation + */ + Operation.fromObject = function fromObject(object) { + if (object instanceof $root.google.longrunning.Operation) + return object; + var message = new $root.google.longrunning.Operation(); + if (object.name != null) + message.name = String(object.name); + if (object.metadata != null) { + if (typeof object.metadata !== "object") + throw TypeError(".google.longrunning.Operation.metadata: object expected"); + message.metadata = $root.google.protobuf.Any.fromObject(object.metadata); + } + if (object.done != null) + message.done = Boolean(object.done); + if (object.error != null) { + if (typeof object.error !== "object") + throw TypeError(".google.longrunning.Operation.error: object expected"); + message.error = $root.google.rpc.Status.fromObject(object.error); + } + if (object.response != null) { + if (typeof object.response !== "object") + throw TypeError(".google.longrunning.Operation.response: object expected"); + message.response = $root.google.protobuf.Any.fromObject(object.response); + } + return message; + }; + + /** + * Creates a plain object from an Operation message. Also converts values to other types if specified. + * @function toObject + * @memberof google.longrunning.Operation + * @static + * @param {google.longrunning.Operation} message Operation + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Operation.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.name = ""; + object.metadata = null; + object.done = false; + } + if (message.name != null && message.hasOwnProperty("name")) + object.name = message.name; + if (message.metadata != null && message.hasOwnProperty("metadata")) + object.metadata = $root.google.protobuf.Any.toObject(message.metadata, options); + if (message.done != null && message.hasOwnProperty("done")) + object.done = message.done; + if (message.error != null && message.hasOwnProperty("error")) { + object.error = $root.google.rpc.Status.toObject(message.error, options); + if (options.oneofs) + object.result = "error"; + } + if (message.response != null && message.hasOwnProperty("response")) { + object.response = $root.google.protobuf.Any.toObject(message.response, options); + if (options.oneofs) + object.result = "response"; + } + return object; + }; + + /** + * Converts this Operation to JSON. + * @function toJSON + * @memberof google.longrunning.Operation + * @instance + * @returns {Object.} JSON object + */ + Operation.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * 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; + })(); + + google.type = (function() { + + /** + * Namespace type. + * @memberof google + * @namespace + */ + var type = {}; + + type.Money = (function() { + + /** + * Properties of a Money. + * @memberof google.type + * @interface IMoney + * @property {string|null} [currencyCode] Money currencyCode + * @property {number|Long|null} [units] Money units + * @property {number|null} [nanos] Money nanos + */ + + /** + * Constructs a new Money. + * @memberof google.type + * @classdesc Represents a Money. + * @implements IMoney + * @constructor + * @param {google.type.IMoney=} [properties] Properties to set + */ + function Money(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]]; + } + + /** + * Money currencyCode. + * @member {string} currencyCode + * @memberof google.type.Money + * @instance + */ + Money.prototype.currencyCode = ""; + + /** + * Money units. + * @member {number|Long} units + * @memberof google.type.Money + * @instance + */ + Money.prototype.units = $util.Long ? $util.Long.fromBits(0,0,false) : 0; + + /** + * Money nanos. + * @member {number} nanos + * @memberof google.type.Money + * @instance + */ + Money.prototype.nanos = 0; + + /** + * Creates a new Money instance using the specified properties. + * @function create + * @memberof google.type.Money + * @static + * @param {google.type.IMoney=} [properties] Properties to set + * @returns {google.type.Money} Money instance + */ + Money.create = function create(properties) { + return new Money(properties); + }; + + /** + * Encodes the specified Money message. Does not implicitly {@link google.type.Money.verify|verify} messages. + * @function encode + * @memberof google.type.Money + * @static + * @param {google.type.IMoney} message Money message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Money.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.currencyCode != null && Object.hasOwnProperty.call(message, "currencyCode")) + writer.uint32(/* id 1, wireType 2 =*/10).string(message.currencyCode); + if (message.units != null && Object.hasOwnProperty.call(message, "units")) + writer.uint32(/* id 2, wireType 0 =*/16).int64(message.units); + if (message.nanos != null && Object.hasOwnProperty.call(message, "nanos")) + writer.uint32(/* id 3, wireType 0 =*/24).int32(message.nanos); + return writer; + }; + + /** + * Encodes the specified Money message, length delimited. Does not implicitly {@link google.type.Money.verify|verify} messages. + * @function encodeDelimited + * @memberof google.type.Money + * @static + * @param {google.type.IMoney} message Money message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + Money.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a Money message from the specified reader or buffer. + * @function decode + * @memberof google.type.Money + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.type.Money} Money + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Money.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.Money(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.currencyCode = reader.string(); + break; + } + case 2: { + message.units = reader.int64(); + break; + } + case 3: { + message.nanos = reader.int32(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a Money message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.type.Money + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.type.Money} Money + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + Money.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a Money message. + * @function verify + * @memberof google.type.Money + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + Money.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) + if (!$util.isString(message.currencyCode)) + return "currencyCode: string expected"; + if (message.units != null && message.hasOwnProperty("units")) + if (!$util.isInteger(message.units) && !(message.units && $util.isInteger(message.units.low) && $util.isInteger(message.units.high))) + return "units: integer|Long expected"; + if (message.nanos != null && message.hasOwnProperty("nanos")) + if (!$util.isInteger(message.nanos)) + return "nanos: integer expected"; + return null; + }; + + /** + * Creates a Money message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.type.Money + * @static + * @param {Object.} object Plain object + * @returns {google.type.Money} Money + */ + Money.fromObject = function fromObject(object) { + if (object instanceof $root.google.type.Money) + return object; + var message = new $root.google.type.Money(); + if (object.currencyCode != null) + message.currencyCode = String(object.currencyCode); + if (object.units != null) + if ($util.Long) + (message.units = $util.Long.fromValue(object.units)).unsigned = false; + else if (typeof object.units === "string") + message.units = parseInt(object.units, 10); + else if (typeof object.units === "number") + message.units = object.units; + else if (typeof object.units === "object") + message.units = new $util.LongBits(object.units.low >>> 0, object.units.high >>> 0).toNumber(); + if (object.nanos != null) + message.nanos = object.nanos | 0; + return message; + }; + + /** + * Creates a plain object from a Money message. Also converts values to other types if specified. + * @function toObject + * @memberof google.type.Money + * @static + * @param {google.type.Money} message Money + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + Money.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.defaults) { + object.currencyCode = ""; + if ($util.Long) { + var long = new $util.Long(0, 0, false); + object.units = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long; + } else + object.units = options.longs === String ? "0" : 0; + object.nanos = 0; + } + if (message.currencyCode != null && message.hasOwnProperty("currencyCode")) + object.currencyCode = message.currencyCode; + if (message.units != null && message.hasOwnProperty("units")) + if (typeof message.units === "number") + object.units = options.longs === String ? String(message.units) : message.units; + else + object.units = options.longs === String ? $util.Long.prototype.toString.call(message.units) : options.longs === Number ? new $util.LongBits(message.units.low >>> 0, message.units.high >>> 0).toNumber() : message.units; + if (message.nanos != null && message.hasOwnProperty("nanos")) + object.nanos = message.nanos; + return object; + }; + + /** + * Converts this Money to JSON. + * @function toJSON + * @memberof google.type.Money + * @instance + * @returns {Object.} JSON object + */ + Money.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for Money + * @function getTypeUrl + * @memberof google.type.Money + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + Money.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.type.Money"; + }; + + return Money; + })(); + + type.PostalAddress = (function() { + + /** + * Properties of a PostalAddress. + * @memberof google.type + * @interface IPostalAddress + * @property {number|null} [revision] PostalAddress revision + * @property {string|null} [regionCode] PostalAddress regionCode + * @property {string|null} [languageCode] PostalAddress languageCode + * @property {string|null} [postalCode] PostalAddress postalCode + * @property {string|null} [sortingCode] PostalAddress sortingCode + * @property {string|null} [administrativeArea] PostalAddress administrativeArea + * @property {string|null} [locality] PostalAddress locality + * @property {string|null} [sublocality] PostalAddress sublocality + * @property {Array.|null} [addressLines] PostalAddress addressLines + * @property {Array.|null} [recipients] PostalAddress recipients + * @property {string|null} [organization] PostalAddress organization + */ + + /** + * Constructs a new PostalAddress. + * @memberof google.type + * @classdesc Represents a PostalAddress. + * @implements IPostalAddress + * @constructor + * @param {google.type.IPostalAddress=} [properties] Properties to set + */ + function PostalAddress(properties) { + this.addressLines = []; + this.recipients = []; + if (properties) + for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i) + if (properties[keys[i]] != null) + this[keys[i]] = properties[keys[i]]; + } + + /** + * PostalAddress revision. + * @member {number} revision + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.revision = 0; + + /** + * PostalAddress regionCode. + * @member {string} regionCode + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.regionCode = ""; + + /** + * PostalAddress languageCode. + * @member {string} languageCode + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.languageCode = ""; + + /** + * PostalAddress postalCode. + * @member {string} postalCode + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.postalCode = ""; + + /** + * PostalAddress sortingCode. + * @member {string} sortingCode + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.sortingCode = ""; + + /** + * PostalAddress administrativeArea. + * @member {string} administrativeArea + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.administrativeArea = ""; + + /** + * PostalAddress locality. + * @member {string} locality + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.locality = ""; + + /** + * PostalAddress sublocality. + * @member {string} sublocality + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.sublocality = ""; + + /** + * PostalAddress addressLines. + * @member {Array.} addressLines + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.addressLines = $util.emptyArray; + + /** + * PostalAddress recipients. + * @member {Array.} recipients + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.recipients = $util.emptyArray; + + /** + * PostalAddress organization. + * @member {string} organization + * @memberof google.type.PostalAddress + * @instance + */ + PostalAddress.prototype.organization = ""; + + /** + * Creates a new PostalAddress instance using the specified properties. + * @function create + * @memberof google.type.PostalAddress + * @static + * @param {google.type.IPostalAddress=} [properties] Properties to set + * @returns {google.type.PostalAddress} PostalAddress instance + */ + PostalAddress.create = function create(properties) { + return new PostalAddress(properties); + }; + + /** + * Encodes the specified PostalAddress message. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages. + * @function encode + * @memberof google.type.PostalAddress + * @static + * @param {google.type.IPostalAddress} message PostalAddress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PostalAddress.encode = function encode(message, writer) { + if (!writer) + writer = $Writer.create(); + if (message.revision != null && Object.hasOwnProperty.call(message, "revision")) + writer.uint32(/* id 1, wireType 0 =*/8).int32(message.revision); + if (message.regionCode != null && Object.hasOwnProperty.call(message, "regionCode")) + writer.uint32(/* id 2, wireType 2 =*/18).string(message.regionCode); + if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode")) + writer.uint32(/* id 3, wireType 2 =*/26).string(message.languageCode); + if (message.postalCode != null && Object.hasOwnProperty.call(message, "postalCode")) + writer.uint32(/* id 4, wireType 2 =*/34).string(message.postalCode); + if (message.sortingCode != null && Object.hasOwnProperty.call(message, "sortingCode")) + writer.uint32(/* id 5, wireType 2 =*/42).string(message.sortingCode); + if (message.administrativeArea != null && Object.hasOwnProperty.call(message, "administrativeArea")) + writer.uint32(/* id 6, wireType 2 =*/50).string(message.administrativeArea); + if (message.locality != null && Object.hasOwnProperty.call(message, "locality")) + writer.uint32(/* id 7, wireType 2 =*/58).string(message.locality); + if (message.sublocality != null && Object.hasOwnProperty.call(message, "sublocality")) + writer.uint32(/* id 8, wireType 2 =*/66).string(message.sublocality); + if (message.addressLines != null && message.addressLines.length) + for (var i = 0; i < message.addressLines.length; ++i) + writer.uint32(/* id 9, wireType 2 =*/74).string(message.addressLines[i]); + if (message.recipients != null && message.recipients.length) + for (var i = 0; i < message.recipients.length; ++i) + writer.uint32(/* id 10, wireType 2 =*/82).string(message.recipients[i]); + if (message.organization != null && Object.hasOwnProperty.call(message, "organization")) + writer.uint32(/* id 11, wireType 2 =*/90).string(message.organization); + return writer; + }; + + /** + * Encodes the specified PostalAddress message, length delimited. Does not implicitly {@link google.type.PostalAddress.verify|verify} messages. + * @function encodeDelimited + * @memberof google.type.PostalAddress + * @static + * @param {google.type.IPostalAddress} message PostalAddress message or plain object to encode + * @param {$protobuf.Writer} [writer] Writer to encode to + * @returns {$protobuf.Writer} Writer + */ + PostalAddress.encodeDelimited = function encodeDelimited(message, writer) { + return this.encode(message, writer).ldelim(); + }; + + /** + * Decodes a PostalAddress message from the specified reader or buffer. + * @function decode + * @memberof google.type.PostalAddress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @param {number} [length] Message length if known beforehand + * @returns {google.type.PostalAddress} PostalAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PostalAddress.decode = function decode(reader, length) { + if (!(reader instanceof $Reader)) + reader = $Reader.create(reader); + var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.type.PostalAddress(); + while (reader.pos < end) { + var tag = reader.uint32(); + switch (tag >>> 3) { + case 1: { + message.revision = reader.int32(); + break; + } + case 2: { + message.regionCode = reader.string(); + break; + } + case 3: { + message.languageCode = reader.string(); + break; + } + case 4: { + message.postalCode = reader.string(); + break; + } + case 5: { + message.sortingCode = reader.string(); + break; + } + case 6: { + message.administrativeArea = reader.string(); + break; + } + case 7: { + message.locality = reader.string(); + break; + } + case 8: { + message.sublocality = reader.string(); + break; + } + case 9: { + if (!(message.addressLines && message.addressLines.length)) + message.addressLines = []; + message.addressLines.push(reader.string()); + break; + } + case 10: { + if (!(message.recipients && message.recipients.length)) + message.recipients = []; + message.recipients.push(reader.string()); + break; + } + case 11: { + message.organization = reader.string(); + break; + } + default: + reader.skipType(tag & 7); + break; + } + } + return message; + }; + + /** + * Decodes a PostalAddress message from the specified reader or buffer, length delimited. + * @function decodeDelimited + * @memberof google.type.PostalAddress + * @static + * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from + * @returns {google.type.PostalAddress} PostalAddress + * @throws {Error} If the payload is not a reader or valid buffer + * @throws {$protobuf.util.ProtocolError} If required fields are missing + */ + PostalAddress.decodeDelimited = function decodeDelimited(reader) { + if (!(reader instanceof $Reader)) + reader = new $Reader(reader); + return this.decode(reader, reader.uint32()); + }; + + /** + * Verifies a PostalAddress message. + * @function verify + * @memberof google.type.PostalAddress + * @static + * @param {Object.} message Plain object to verify + * @returns {string|null} `null` if valid, otherwise the reason why it is not + */ + PostalAddress.verify = function verify(message) { + if (typeof message !== "object" || message === null) + return "object expected"; + if (message.revision != null && message.hasOwnProperty("revision")) + if (!$util.isInteger(message.revision)) + return "revision: integer expected"; + if (message.regionCode != null && message.hasOwnProperty("regionCode")) + if (!$util.isString(message.regionCode)) + return "regionCode: string expected"; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + if (!$util.isString(message.languageCode)) + return "languageCode: string expected"; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + if (!$util.isString(message.postalCode)) + return "postalCode: string expected"; + if (message.sortingCode != null && message.hasOwnProperty("sortingCode")) + if (!$util.isString(message.sortingCode)) + return "sortingCode: string expected"; + if (message.administrativeArea != null && message.hasOwnProperty("administrativeArea")) + if (!$util.isString(message.administrativeArea)) + return "administrativeArea: string expected"; + if (message.locality != null && message.hasOwnProperty("locality")) + if (!$util.isString(message.locality)) + return "locality: string expected"; + if (message.sublocality != null && message.hasOwnProperty("sublocality")) + if (!$util.isString(message.sublocality)) + return "sublocality: string expected"; + if (message.addressLines != null && message.hasOwnProperty("addressLines")) { + if (!Array.isArray(message.addressLines)) + return "addressLines: array expected"; + for (var i = 0; i < message.addressLines.length; ++i) + if (!$util.isString(message.addressLines[i])) + return "addressLines: string[] expected"; + } + if (message.recipients != null && message.hasOwnProperty("recipients")) { + if (!Array.isArray(message.recipients)) + return "recipients: array expected"; + for (var i = 0; i < message.recipients.length; ++i) + if (!$util.isString(message.recipients[i])) + return "recipients: string[] expected"; + } + if (message.organization != null && message.hasOwnProperty("organization")) + if (!$util.isString(message.organization)) + return "organization: string expected"; + return null; + }; + + /** + * Creates a PostalAddress message from a plain object. Also converts values to their respective internal types. + * @function fromObject + * @memberof google.type.PostalAddress + * @static + * @param {Object.} object Plain object + * @returns {google.type.PostalAddress} PostalAddress + */ + PostalAddress.fromObject = function fromObject(object) { + if (object instanceof $root.google.type.PostalAddress) + return object; + var message = new $root.google.type.PostalAddress(); + if (object.revision != null) + message.revision = object.revision | 0; + if (object.regionCode != null) + message.regionCode = String(object.regionCode); + if (object.languageCode != null) + message.languageCode = String(object.languageCode); + if (object.postalCode != null) + message.postalCode = String(object.postalCode); + if (object.sortingCode != null) + message.sortingCode = String(object.sortingCode); + if (object.administrativeArea != null) + message.administrativeArea = String(object.administrativeArea); + if (object.locality != null) + message.locality = String(object.locality); + if (object.sublocality != null) + message.sublocality = String(object.sublocality); + if (object.addressLines) { + if (!Array.isArray(object.addressLines)) + throw TypeError(".google.type.PostalAddress.addressLines: array expected"); + message.addressLines = []; + for (var i = 0; i < object.addressLines.length; ++i) + message.addressLines[i] = String(object.addressLines[i]); + } + if (object.recipients) { + if (!Array.isArray(object.recipients)) + throw TypeError(".google.type.PostalAddress.recipients: array expected"); + message.recipients = []; + for (var i = 0; i < object.recipients.length; ++i) + message.recipients[i] = String(object.recipients[i]); + } + if (object.organization != null) + message.organization = String(object.organization); + return message; + }; + + /** + * Creates a plain object from a PostalAddress message. Also converts values to other types if specified. + * @function toObject + * @memberof google.type.PostalAddress + * @static + * @param {google.type.PostalAddress} message PostalAddress + * @param {$protobuf.IConversionOptions} [options] Conversion options + * @returns {Object.} Plain object + */ + PostalAddress.toObject = function toObject(message, options) { + if (!options) + options = {}; + var object = {}; + if (options.arrays || options.defaults) { + object.addressLines = []; + object.recipients = []; + } + if (options.defaults) { + object.revision = 0; + object.regionCode = ""; + object.languageCode = ""; + object.postalCode = ""; + object.sortingCode = ""; + object.administrativeArea = ""; + object.locality = ""; + object.sublocality = ""; + object.organization = ""; + } + if (message.revision != null && message.hasOwnProperty("revision")) + object.revision = message.revision; + if (message.regionCode != null && message.hasOwnProperty("regionCode")) + object.regionCode = message.regionCode; + if (message.languageCode != null && message.hasOwnProperty("languageCode")) + object.languageCode = message.languageCode; + if (message.postalCode != null && message.hasOwnProperty("postalCode")) + object.postalCode = message.postalCode; + if (message.sortingCode != null && message.hasOwnProperty("sortingCode")) + object.sortingCode = message.sortingCode; + if (message.administrativeArea != null && message.hasOwnProperty("administrativeArea")) + object.administrativeArea = message.administrativeArea; + if (message.locality != null && message.hasOwnProperty("locality")) + object.locality = message.locality; + if (message.sublocality != null && message.hasOwnProperty("sublocality")) + object.sublocality = message.sublocality; + if (message.addressLines && message.addressLines.length) { + object.addressLines = []; + for (var j = 0; j < message.addressLines.length; ++j) + object.addressLines[j] = message.addressLines[j]; + } + if (message.recipients && message.recipients.length) { + object.recipients = []; + for (var j = 0; j < message.recipients.length; ++j) + object.recipients[j] = message.recipients[j]; + } + if (message.organization != null && message.hasOwnProperty("organization")) + object.organization = message.organization; + return object; + }; + + /** + * Converts this PostalAddress to JSON. + * @function toJSON + * @memberof google.type.PostalAddress + * @instance + * @returns {Object.} JSON object + */ + PostalAddress.prototype.toJSON = function toJSON() { + return this.constructor.toObject(this, $protobuf.util.toJSONOptions); + }; + + /** + * Gets the default type url for PostalAddress + * @function getTypeUrl + * @memberof google.type.PostalAddress + * @static + * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com") + * @returns {string} The default type url + */ + PostalAddress.getTypeUrl = function getTypeUrl(typeUrlPrefix) { + if (typeUrlPrefix === undefined) { + typeUrlPrefix = "type.googleapis.com"; + } + return typeUrlPrefix + "/google.type.PostalAddress"; + }; + + return PostalAddress; + })(); + + return type; + })(); + + return google; + })(); + + return $root; +}); diff --git a/packages/google-cloud-domains/protos/protos.json b/packages/google-cloud-domains/protos/protos.json new file mode 100644 index 00000000000..69be27f0c95 --- /dev/null +++ b/packages/google-cloud-domains/protos/protos.json @@ -0,0 +1,5127 @@ +{ + "nested": { + "google": { + "nested": { + "cloud": { + "nested": { + "domains": { + "nested": { + "v1": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/cloud/domains/v1;domains", + "java_multiple_files": true, + "java_outer_classname": "DomainsProto", + "java_package": "com.google.cloud.domains.v1" + }, + "nested": { + "Domains": { + "options": { + "(google.api.default_host)": "domains.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "SearchDomains": { + "requestType": "SearchDomainsRequest", + "responseType": "SearchDomainsResponse", + "options": { + "(google.api.http).get": "/v1/{location=projects/*/locations/*}/registrations:searchDomains", + "(google.api.method_signature)": "location,query" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{location=projects/*/locations/*}/registrations:searchDomains" + } + }, + { + "(google.api.method_signature)": "location,query" + } + ] + }, + "RetrieveRegisterParameters": { + "requestType": "RetrieveRegisterParametersRequest", + "responseType": "RetrieveRegisterParametersResponse", + "options": { + "(google.api.http).get": "/v1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "RegisterDomain": { + "requestType": "RegisterDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/registrations:register", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/registrations:register", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveTransferParameters": { + "requestType": "RetrieveTransferParametersRequest", + "responseType": "RetrieveTransferParametersResponse", + "options": { + "(google.api.http).get": "/v1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "TransferDomain": { + "requestType": "TransferDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{parent=projects/*/locations/*}/registrations:transfer", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{parent=projects/*/locations/*}/registrations:transfer", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListRegistrations": { + "requestType": "ListRegistrationsRequest", + "responseType": "ListRegistrationsResponse", + "options": { + "(google.api.http).get": "/v1/{parent=projects/*/locations/*}/registrations", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{parent=projects/*/locations/*}/registrations" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetRegistration": { + "requestType": "GetRegistrationRequest", + "responseType": "Registration", + "options": { + "(google.api.http).get": "/v1/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "UpdateRegistration": { + "requestType": "UpdateRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v1/{registration.name=projects/*/locations/*/registrations/*}", + "(google.api.http).body": "registration", + "(google.api.method_signature)": "registration,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1/{registration.name=projects/*/locations/*/registrations/*}", + "body": "registration" + } + }, + { + "(google.api.method_signature)": "registration,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureManagementSettings": { + "requestType": "ConfigureManagementSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,management_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,management_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureDnsSettings": { + "requestType": "ConfigureDnsSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,dns_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,dns_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureContactSettings": { + "requestType": "ConfigureContactSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,contact_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,contact_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ExportRegistration": { + "requestType": "ExportRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1/{name=projects/*/locations/*/registrations/*}:export", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=projects/*/locations/*/registrations/*}:export", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteRegistration": { + "requestType": "DeleteRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveAuthorizationCode": { + "requestType": "RetrieveAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).get": "/v1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + }, + "ResetAuthorizationCode": { + "requestType": "ResetAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).post": "/v1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + } + } + }, + "Registration": { + "options": { + "(google.api.resource).type": "domains.googleapis.com/Registration", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/registrations/{registration}" + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "domainName": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "expireTime": { + "type": "google.protobuf.Timestamp", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "state": { + "type": "State", + "id": 7, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "issues": { + "rule": "repeated", + "type": "Issue", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 9 + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 10 + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 11 + }, + "contactSettings": { + "type": "ContactSettings", + "id": 12, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "pendingContactSettings": { + "type": "ContactSettings", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 14, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "REGISTRATION_PENDING": 1, + "REGISTRATION_FAILED": 2, + "TRANSFER_PENDING": 3, + "TRANSFER_FAILED": 4, + "ACTIVE": 6, + "SUSPENDED": 7, + "EXPORTED": 8 + } + }, + "Issue": { + "values": { + "ISSUE_UNSPECIFIED": 0, + "CONTACT_SUPPORT": 1, + "UNVERIFIED_EMAIL": 2 + } + } + } + }, + "ManagementSettings": { + "fields": { + "renewalMethod": { + "type": "RenewalMethod", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + } + }, + "nested": { + "RenewalMethod": { + "values": { + "RENEWAL_METHOD_UNSPECIFIED": 0, + "AUTOMATIC_RENEWAL": 1, + "MANUAL_RENEWAL": 2 + } + } + } + }, + "DnsSettings": { + "oneofs": { + "dnsProvider": { + "oneof": [ + "customDns", + "googleDomainsDns" + ] + } + }, + "fields": { + "customDns": { + "type": "CustomDns", + "id": 1 + }, + "googleDomainsDns": { + "type": "GoogleDomainsDns", + "id": 2 + }, + "glueRecords": { + "rule": "repeated", + "type": "GlueRecord", + "id": 4 + } + }, + "nested": { + "CustomDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 2 + } + } + }, + "GoogleDomainsDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dsState": { + "type": "DsState", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "DsRecord": { + "fields": { + "keyTag": { + "type": "int32", + "id": 1 + }, + "algorithm": { + "type": "Algorithm", + "id": 2 + }, + "digestType": { + "type": "DigestType", + "id": 3 + }, + "digest": { + "type": "string", + "id": 4 + } + }, + "nested": { + "Algorithm": { + "values": { + "ALGORITHM_UNSPECIFIED": 0, + "RSAMD5": 1, + "DH": 2, + "DSA": 3, + "ECC": 4, + "RSASHA1": 5, + "DSANSEC3SHA1": 6, + "RSASHA1NSEC3SHA1": 7, + "RSASHA256": 8, + "RSASHA512": 10, + "ECCGOST": 12, + "ECDSAP256SHA256": 13, + "ECDSAP384SHA384": 14, + "ED25519": 15, + "ED448": 16, + "INDIRECT": 252, + "PRIVATEDNS": 253, + "PRIVATEOID": 254 + } + }, + "DigestType": { + "values": { + "DIGEST_TYPE_UNSPECIFIED": 0, + "SHA1": 1, + "SHA256": 2, + "GOST3411": 3, + "SHA384": 4 + } + } + } + }, + "GlueRecord": { + "fields": { + "hostName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "ipv4Addresses": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "ipv6Addresses": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "DsState": { + "values": { + "DS_STATE_UNSPECIFIED": 0, + "DS_RECORDS_UNPUBLISHED": 1, + "DS_RECORDS_PUBLISHED": 2 + } + } + } + }, + "ContactSettings": { + "fields": { + "privacy": { + "type": "ContactPrivacy", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "registrantContact": { + "type": "Contact", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "adminContact": { + "type": "Contact", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "technicalContact": { + "type": "Contact", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + }, + "nested": { + "Contact": { + "fields": { + "postalAddress": { + "type": "google.type.PostalAddress", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "email": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "phoneNumber": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "faxNumber": { + "type": "string", + "id": 4 + } + } + } + } + }, + "SearchDomainsRequest": { + "fields": { + "query": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "SearchDomainsResponse": { + "fields": { + "registerParameters": { + "rule": "repeated", + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RetrieveRegisterParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveRegisterParametersResponse": { + "fields": { + "registerParameters": { + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RegisterDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 3 + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "RetrieveTransferParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveTransferParametersResponse": { + "fields": { + "transferParameters": { + "type": "TransferParameters", + "id": 1 + } + } + }, + "TransferDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 3 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "authorizationCode": { + "type": "AuthorizationCode", + "id": 5 + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "ListRegistrationsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListRegistrationsResponse": { + "fields": { + "registrations": { + "rule": "repeated", + "type": "Registration", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "UpdateRegistrationRequest": { + "fields": { + "registration": { + "type": "Registration", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureManagementSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureDnsSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 4 + } + } + }, + "ConfigureContactSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "contactSettings": { + "type": "ContactSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "validateOnly": { + "type": "bool", + "id": 5 + } + } + }, + "ExportRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "DeleteRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RetrieveAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "ResetAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RegisterParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "availability": { + "type": "Availability", + "id": 2 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 3 + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5 + } + }, + "nested": { + "Availability": { + "values": { + "AVAILABILITY_UNSPECIFIED": 0, + "AVAILABLE": 1, + "UNAVAILABLE": 2, + "UNSUPPORTED": 3, + "UNKNOWN": 4 + } + } + } + }, + "TransferParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "currentRegistrar": { + "type": "string", + "id": 2 + }, + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 5 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 6 + } + } + }, + "AuthorizationCode": { + "fields": { + "code": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "target": { + "type": "string", + "id": 3 + }, + "verb": { + "type": "string", + "id": 4 + }, + "statusDetail": { + "type": "string", + "id": 5 + }, + "apiVersion": { + "type": "string", + "id": 6 + } + } + }, + "ContactPrivacy": { + "values": { + "CONTACT_PRIVACY_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA": 1, + "PRIVATE_CONTACT_DATA": 2, + "REDACTED_CONTACT_DATA": 3 + } + }, + "DomainNotice": { + "values": { + "DOMAIN_NOTICE_UNSPECIFIED": 0, + "HSTS_PRELOADED": 1 + } + }, + "ContactNotice": { + "values": { + "CONTACT_NOTICE_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": 1 + } + }, + "TransferLockState": { + "values": { + "TRANSFER_LOCK_STATE_UNSPECIFIED": 0, + "UNLOCKED": 1, + "LOCKED": 2 + } + } + } + }, + "v1alpha2": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/cloud/domains/v1alpha2;domains", + "java_multiple_files": true, + "java_outer_classname": "DomainsProto", + "java_package": "com.google.cloud.domains.v1alpha2" + }, + "nested": { + "Domains": { + "options": { + "(google.api.default_host)": "domains.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "SearchDomains": { + "requestType": "SearchDomainsRequest", + "responseType": "SearchDomainsResponse", + "options": { + "(google.api.http).get": "/v1alpha2/{location=projects/*/locations/*}/registrations:searchDomains", + "(google.api.method_signature)": "location,query" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{location=projects/*/locations/*}/registrations:searchDomains" + } + }, + { + "(google.api.method_signature)": "location,query" + } + ] + }, + "RetrieveRegisterParameters": { + "requestType": "RetrieveRegisterParametersRequest", + "responseType": "RetrieveRegisterParametersResponse", + "options": { + "(google.api.http).get": "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "RegisterDomain": { + "requestType": "RegisterDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{parent=projects/*/locations/*}/registrations:register", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{parent=projects/*/locations/*}/registrations:register", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveTransferParameters": { + "requestType": "RetrieveTransferParametersRequest", + "responseType": "RetrieveTransferParametersResponse", + "options": { + "(google.api.http).get": "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveTransferParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "TransferDomain": { + "requestType": "TransferDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{parent=projects/*/locations/*}/registrations:transfer", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{parent=projects/*/locations/*}/registrations:transfer", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListRegistrations": { + "requestType": "ListRegistrationsRequest", + "responseType": "ListRegistrationsResponse", + "options": { + "(google.api.http).get": "/v1alpha2/{parent=projects/*/locations/*}/registrations", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{parent=projects/*/locations/*}/registrations" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetRegistration": { + "requestType": "GetRegistrationRequest", + "responseType": "Registration", + "options": { + "(google.api.http).get": "/v1alpha2/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "UpdateRegistration": { + "requestType": "UpdateRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v1alpha2/{registration.name=projects/*/locations/*/registrations/*}", + "(google.api.http).body": "registration", + "(google.api.method_signature)": "registration,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1alpha2/{registration.name=projects/*/locations/*/registrations/*}", + "body": "registration" + } + }, + { + "(google.api.method_signature)": "registration,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureManagementSettings": { + "requestType": "ConfigureManagementSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,management_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,management_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureDnsSettings": { + "requestType": "ConfigureDnsSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,dns_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,dns_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureContactSettings": { + "requestType": "ConfigureContactSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,contact_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,contact_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ExportRegistration": { + "requestType": "ExportRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1alpha2/{name=projects/*/locations/*/registrations/*}:export", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{name=projects/*/locations/*/registrations/*}:export", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteRegistration": { + "requestType": "DeleteRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1alpha2/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1alpha2/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveAuthorizationCode": { + "requestType": "RetrieveAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).get": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + }, + "ResetAuthorizationCode": { + "requestType": "ResetAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1alpha2/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + } + } + }, + "Registration": { + "options": { + "(google.api.resource).type": "domains.googleapis.com/Registration", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/registrations/{registration}" + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "domainName": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "expireTime": { + "type": "google.protobuf.Timestamp", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "state": { + "type": "State", + "id": 7, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "issues": { + "rule": "repeated", + "type": "Issue", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 9 + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 10 + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 11 + }, + "contactSettings": { + "type": "ContactSettings", + "id": 12, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "pendingContactSettings": { + "type": "ContactSettings", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 14, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "REGISTRATION_PENDING": 1, + "REGISTRATION_FAILED": 2, + "TRANSFER_PENDING": 3, + "TRANSFER_FAILED": 4, + "ACTIVE": 6, + "SUSPENDED": 7, + "EXPORTED": 8 + } + }, + "Issue": { + "values": { + "ISSUE_UNSPECIFIED": 0, + "CONTACT_SUPPORT": 1, + "UNVERIFIED_EMAIL": 2 + } + } + } + }, + "ManagementSettings": { + "fields": { + "renewalMethod": { + "type": "RenewalMethod", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + } + }, + "nested": { + "RenewalMethod": { + "values": { + "RENEWAL_METHOD_UNSPECIFIED": 0, + "AUTOMATIC_RENEWAL": 1, + "MANUAL_RENEWAL": 2 + } + } + } + }, + "DnsSettings": { + "oneofs": { + "dnsProvider": { + "oneof": [ + "customDns", + "googleDomainsDns" + ] + } + }, + "fields": { + "customDns": { + "type": "CustomDns", + "id": 1 + }, + "googleDomainsDns": { + "type": "GoogleDomainsDns", + "id": 2 + }, + "glueRecords": { + "rule": "repeated", + "type": "GlueRecord", + "id": 4 + } + }, + "nested": { + "CustomDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 2 + } + } + }, + "GoogleDomainsDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dsState": { + "type": "DsState", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "DsRecord": { + "fields": { + "keyTag": { + "type": "int32", + "id": 1 + }, + "algorithm": { + "type": "Algorithm", + "id": 2 + }, + "digestType": { + "type": "DigestType", + "id": 3 + }, + "digest": { + "type": "string", + "id": 4 + } + }, + "nested": { + "Algorithm": { + "values": { + "ALGORITHM_UNSPECIFIED": 0, + "RSAMD5": 1, + "DH": 2, + "DSA": 3, + "ECC": 4, + "RSASHA1": 5, + "DSANSEC3SHA1": 6, + "RSASHA1NSEC3SHA1": 7, + "RSASHA256": 8, + "RSASHA512": 10, + "ECCGOST": 12, + "ECDSAP256SHA256": 13, + "ECDSAP384SHA384": 14, + "ED25519": 15, + "ED448": 16, + "INDIRECT": 252, + "PRIVATEDNS": 253, + "PRIVATEOID": 254 + } + }, + "DigestType": { + "values": { + "DIGEST_TYPE_UNSPECIFIED": 0, + "SHA1": 1, + "SHA256": 2, + "GOST3411": 3, + "SHA384": 4 + } + } + } + }, + "GlueRecord": { + "fields": { + "hostName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "ipv4Addresses": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "ipv6Addresses": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "DsState": { + "values": { + "DS_STATE_UNSPECIFIED": 0, + "DS_RECORDS_UNPUBLISHED": 1, + "DS_RECORDS_PUBLISHED": 2 + } + } + } + }, + "ContactSettings": { + "fields": { + "privacy": { + "type": "ContactPrivacy", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "registrantContact": { + "type": "Contact", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "adminContact": { + "type": "Contact", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "technicalContact": { + "type": "Contact", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + }, + "nested": { + "Contact": { + "fields": { + "postalAddress": { + "type": "google.type.PostalAddress", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "email": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "phoneNumber": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "faxNumber": { + "type": "string", + "id": 4 + } + } + } + } + }, + "SearchDomainsRequest": { + "fields": { + "query": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "SearchDomainsResponse": { + "fields": { + "registerParameters": { + "rule": "repeated", + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RetrieveRegisterParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveRegisterParametersResponse": { + "fields": { + "registerParameters": { + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RegisterDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 3 + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "RetrieveTransferParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveTransferParametersResponse": { + "fields": { + "transferParameters": { + "type": "TransferParameters", + "id": 1 + } + } + }, + "TransferDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 3 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "authorizationCode": { + "type": "AuthorizationCode", + "id": 5 + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "ListRegistrationsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListRegistrationsResponse": { + "fields": { + "registrations": { + "rule": "repeated", + "type": "Registration", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "UpdateRegistrationRequest": { + "fields": { + "registration": { + "type": "Registration", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureManagementSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureDnsSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 4 + } + } + }, + "ConfigureContactSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "contactSettings": { + "type": "ContactSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "validateOnly": { + "type": "bool", + "id": 5 + } + } + }, + "ExportRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "DeleteRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RetrieveAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "ResetAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RegisterParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "availability": { + "type": "Availability", + "id": 2 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 3 + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5 + } + }, + "nested": { + "Availability": { + "values": { + "AVAILABILITY_UNSPECIFIED": 0, + "AVAILABLE": 1, + "UNAVAILABLE": 2, + "UNSUPPORTED": 3, + "UNKNOWN": 4 + } + } + } + }, + "TransferParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "currentRegistrar": { + "type": "string", + "id": 2 + }, + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 5 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 6 + } + } + }, + "AuthorizationCode": { + "fields": { + "code": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "target": { + "type": "string", + "id": 3 + }, + "verb": { + "type": "string", + "id": 4 + }, + "statusDetail": { + "type": "string", + "id": 5 + }, + "apiVersion": { + "type": "string", + "id": 6 + } + } + }, + "ContactPrivacy": { + "values": { + "CONTACT_PRIVACY_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA": 1, + "PRIVATE_CONTACT_DATA": 2, + "REDACTED_CONTACT_DATA": 3 + } + }, + "DomainNotice": { + "values": { + "DOMAIN_NOTICE_UNSPECIFIED": 0, + "HSTS_PRELOADED": 1 + } + }, + "ContactNotice": { + "values": { + "CONTACT_NOTICE_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": 1 + } + }, + "TransferLockState": { + "values": { + "TRANSFER_LOCK_STATE_UNSPECIFIED": 0, + "UNLOCKED": 1, + "LOCKED": 2 + } + } + } + }, + "v1beta1": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/cloud/domains/v1beta1;domains", + "java_multiple_files": true, + "java_outer_classname": "DomainsProto", + "java_package": "com.google.cloud.domains.v1beta1" + }, + "nested": { + "Domains": { + "options": { + "(google.api.default_host)": "domains.googleapis.com", + "(google.api.oauth_scopes)": "https://www.googleapis.com/auth/cloud-platform" + }, + "methods": { + "SearchDomains": { + "requestType": "SearchDomainsRequest", + "responseType": "SearchDomainsResponse", + "options": { + "(google.api.http).get": "/v1beta1/{location=projects/*/locations/*}/registrations:searchDomains", + "(google.api.method_signature)": "location,query" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{location=projects/*/locations/*}/registrations:searchDomains" + } + }, + { + "(google.api.method_signature)": "location,query" + } + ] + }, + "RetrieveRegisterParameters": { + "requestType": "RetrieveRegisterParametersRequest", + "responseType": "RetrieveRegisterParametersResponse", + "options": { + "(google.api.http).get": "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveRegisterParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "RegisterDomain": { + "requestType": "RegisterDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=projects/*/locations/*}/registrations:register", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=projects/*/locations/*}/registrations:register", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveTransferParameters": { + "requestType": "RetrieveTransferParametersRequest", + "responseType": "RetrieveTransferParametersResponse", + "options": { + "(google.api.http).get": "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters", + "(google.api.method_signature)": "location,domain_name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{location=projects/*/locations/*}/registrations:retrieveTransferParameters" + } + }, + { + "(google.api.method_signature)": "location,domain_name" + } + ] + }, + "TransferDomain": { + "requestType": "TransferDomainRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{parent=projects/*/locations/*}/registrations:transfer", + "(google.api.http).body": "*", + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{parent=projects/*/locations/*}/registrations:transfer", + "body": "*" + } + }, + { + "(google.api.method_signature)": "parent,registration,yearly_price,authorization_code" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ListRegistrations": { + "requestType": "ListRegistrationsRequest", + "responseType": "ListRegistrationsResponse", + "options": { + "(google.api.http).get": "/v1beta1/{parent=projects/*/locations/*}/registrations", + "(google.api.method_signature)": "parent" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{parent=projects/*/locations/*}/registrations" + } + }, + { + "(google.api.method_signature)": "parent" + } + ] + }, + "GetRegistration": { + "requestType": "GetRegistrationRequest", + "responseType": "Registration", + "options": { + "(google.api.http).get": "/v1beta1/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "UpdateRegistration": { + "requestType": "UpdateRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).patch": "/v1beta1/{registration.name=projects/*/locations/*/registrations/*}", + "(google.api.http).body": "registration", + "(google.api.method_signature)": "registration,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "patch": "/v1beta1/{registration.name=projects/*/locations/*/registrations/*}", + "body": "registration" + } + }, + { + "(google.api.method_signature)": "registration,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureManagementSettings": { + "requestType": "ConfigureManagementSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,management_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureManagementSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,management_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureDnsSettings": { + "requestType": "ConfigureDnsSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,dns_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureDnsSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,dns_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ConfigureContactSettings": { + "requestType": "ConfigureContactSettingsRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration,contact_settings,update_mask", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:configureContactSettings", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration,contact_settings,update_mask" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "ExportRegistration": { + "requestType": "ExportRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).post": "/v1beta1/{name=projects/*/locations/*/registrations/*}:export", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "Registration", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{name=projects/*/locations/*/registrations/*}:export", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "Registration", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "DeleteRegistration": { + "requestType": "DeleteRegistrationRequest", + "responseType": "google.longrunning.Operation", + "options": { + "(google.api.http).delete": "/v1beta1/{name=projects/*/locations/*/registrations/*}", + "(google.api.method_signature)": "name", + "(google.longrunning.operation_info).response_type": "google.protobuf.Empty", + "(google.longrunning.operation_info).metadata_type": "OperationMetadata" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1beta1/{name=projects/*/locations/*/registrations/*}" + } + }, + { + "(google.api.method_signature)": "name" + }, + { + "(google.longrunning.operation_info)": { + "response_type": "google.protobuf.Empty", + "metadata_type": "OperationMetadata" + } + } + ] + }, + "RetrieveAuthorizationCode": { + "requestType": "RetrieveAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).get": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:retrieveAuthorizationCode" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + }, + "ResetAuthorizationCode": { + "requestType": "ResetAuthorizationCodeRequest", + "responseType": "AuthorizationCode", + "options": { + "(google.api.http).post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "(google.api.http).body": "*", + "(google.api.method_signature)": "registration" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1beta1/{registration=projects/*/locations/*/registrations/*}:resetAuthorizationCode", + "body": "*" + } + }, + { + "(google.api.method_signature)": "registration" + } + ] + } + } + }, + "Registration": { + "options": { + "(google.api.resource).type": "domains.googleapis.com/Registration", + "(google.api.resource).pattern": "projects/{project}/locations/{location}/registrations/{registration}" + }, + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "domainName": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "IMMUTABLE" + } + }, + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "expireTime": { + "type": "google.protobuf.Timestamp", + "id": 6, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "state": { + "type": "State", + "id": 7, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "issues": { + "rule": "repeated", + "type": "Issue", + "id": 8, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "labels": { + "keyType": "string", + "type": "string", + "id": 9 + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 10 + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 11 + }, + "contactSettings": { + "type": "ContactSettings", + "id": 12, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "pendingContactSettings": { + "type": "ContactSettings", + "id": 13, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 14, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + }, + "nested": { + "State": { + "values": { + "STATE_UNSPECIFIED": 0, + "REGISTRATION_PENDING": 1, + "REGISTRATION_FAILED": 2, + "TRANSFER_PENDING": 3, + "TRANSFER_FAILED": 4, + "ACTIVE": 6, + "SUSPENDED": 7, + "EXPORTED": 8 + } + }, + "Issue": { + "values": { + "ISSUE_UNSPECIFIED": 0, + "CONTACT_SUPPORT": 1, + "UNVERIFIED_EMAIL": 2 + } + } + } + }, + "ManagementSettings": { + "fields": { + "renewalMethod": { + "type": "RenewalMethod", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + } + }, + "nested": { + "RenewalMethod": { + "values": { + "RENEWAL_METHOD_UNSPECIFIED": 0, + "AUTOMATIC_RENEWAL": 1, + "MANUAL_RENEWAL": 2 + } + } + } + }, + "DnsSettings": { + "oneofs": { + "dnsProvider": { + "oneof": [ + "customDns", + "googleDomainsDns" + ] + } + }, + "fields": { + "customDns": { + "type": "CustomDns", + "id": 1 + }, + "googleDomainsDns": { + "type": "GoogleDomainsDns", + "id": 2 + }, + "glueRecords": { + "rule": "repeated", + "type": "GlueRecord", + "id": 4 + } + }, + "nested": { + "CustomDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 2 + } + } + }, + "GoogleDomainsDns": { + "fields": { + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + }, + "dsState": { + "type": "DsState", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "dsRecords": { + "rule": "repeated", + "type": "DsRecord", + "id": 3, + "options": { + "(google.api.field_behavior)": "OUTPUT_ONLY" + } + } + } + }, + "DsRecord": { + "fields": { + "keyTag": { + "type": "int32", + "id": 1 + }, + "algorithm": { + "type": "Algorithm", + "id": 2 + }, + "digestType": { + "type": "DigestType", + "id": 3 + }, + "digest": { + "type": "string", + "id": 4 + } + }, + "nested": { + "Algorithm": { + "values": { + "ALGORITHM_UNSPECIFIED": 0, + "RSAMD5": 1, + "DH": 2, + "DSA": 3, + "ECC": 4, + "RSASHA1": 5, + "DSANSEC3SHA1": 6, + "RSASHA1NSEC3SHA1": 7, + "RSASHA256": 8, + "RSASHA512": 10, + "ECCGOST": 12, + "ECDSAP256SHA256": 13, + "ECDSAP384SHA384": 14, + "ED25519": 15, + "ED448": 16, + "INDIRECT": 252, + "PRIVATEDNS": 253, + "PRIVATEOID": 254 + } + }, + "DigestType": { + "values": { + "DIGEST_TYPE_UNSPECIFIED": 0, + "SHA1": 1, + "SHA256": 2, + "GOST3411": 3, + "SHA384": 4 + } + } + } + }, + "GlueRecord": { + "fields": { + "hostName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "ipv4Addresses": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "ipv6Addresses": { + "rule": "repeated", + "type": "string", + "id": 3 + } + } + }, + "DsState": { + "values": { + "DS_STATE_UNSPECIFIED": 0, + "DS_RECORDS_UNPUBLISHED": 1, + "DS_RECORDS_PUBLISHED": 2 + } + } + } + }, + "ContactSettings": { + "fields": { + "privacy": { + "type": "ContactPrivacy", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "registrantContact": { + "type": "Contact", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "adminContact": { + "type": "Contact", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "technicalContact": { + "type": "Contact", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + }, + "nested": { + "Contact": { + "fields": { + "postalAddress": { + "type": "google.type.PostalAddress", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "email": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "phoneNumber": { + "type": "string", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "faxNumber": { + "type": "string", + "id": 4 + } + } + } + } + }, + "SearchDomainsRequest": { + "fields": { + "query": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "SearchDomainsResponse": { + "fields": { + "registerParameters": { + "rule": "repeated", + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RetrieveRegisterParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveRegisterParametersResponse": { + "fields": { + "registerParameters": { + "type": "RegisterParameters", + "id": 1 + } + } + }, + "RegisterDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 3 + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "RetrieveTransferParametersRequest": { + "fields": { + "domainName": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "location": { + "type": "string", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + } + } + }, + "RetrieveTransferParametersResponse": { + "fields": { + "transferParameters": { + "type": "TransferParameters", + "id": 1 + } + } + }, + "TransferDomainRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "registration": { + "type": "Registration", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 3 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 4, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "authorizationCode": { + "type": "AuthorizationCode", + "id": 5 + }, + "validateOnly": { + "type": "bool", + "id": 6 + } + } + }, + "ListRegistrationsRequest": { + "fields": { + "parent": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "locations.googleapis.com/Location" + } + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + }, + "filter": { + "type": "string", + "id": 4 + } + } + }, + "ListRegistrationsResponse": { + "fields": { + "registrations": { + "rule": "repeated", + "type": "Registration", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "GetRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "UpdateRegistrationRequest": { + "fields": { + "registration": { + "type": "Registration", + "id": 1 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 2, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureManagementSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "managementSettings": { + "type": "ManagementSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + } + } + }, + "ConfigureDnsSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "dnsSettings": { + "type": "DnsSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "validateOnly": { + "type": "bool", + "id": 4 + } + } + }, + "ConfigureContactSettingsRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + }, + "contactSettings": { + "type": "ContactSettings", + "id": 2 + }, + "updateMask": { + "type": "google.protobuf.FieldMask", + "id": 3, + "options": { + "(google.api.field_behavior)": "REQUIRED" + } + }, + "contactNotices": { + "rule": "repeated", + "type": "ContactNotice", + "id": 4 + }, + "validateOnly": { + "type": "bool", + "id": 5 + } + } + }, + "ExportRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "DeleteRegistrationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RetrieveAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "ResetAuthorizationCodeRequest": { + "fields": { + "registration": { + "type": "string", + "id": 1, + "options": { + "(google.api.field_behavior)": "REQUIRED", + "(google.api.resource_reference).type": "domains.googleapis.com/Registration" + } + } + } + }, + "RegisterParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "availability": { + "type": "Availability", + "id": 2 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 3 + }, + "domainNotices": { + "rule": "repeated", + "type": "DomainNotice", + "id": 4 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 5 + } + }, + "nested": { + "Availability": { + "values": { + "AVAILABILITY_UNSPECIFIED": 0, + "AVAILABLE": 1, + "UNAVAILABLE": 2, + "UNSUPPORTED": 3, + "UNKNOWN": 4 + } + } + } + }, + "TransferParameters": { + "fields": { + "domainName": { + "type": "string", + "id": 1 + }, + "currentRegistrar": { + "type": "string", + "id": 2 + }, + "nameServers": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "transferLockState": { + "type": "TransferLockState", + "id": 4 + }, + "supportedPrivacy": { + "rule": "repeated", + "type": "ContactPrivacy", + "id": 5 + }, + "yearlyPrice": { + "type": "google.type.Money", + "id": 6 + } + } + }, + "AuthorizationCode": { + "fields": { + "code": { + "type": "string", + "id": 1 + } + } + }, + "OperationMetadata": { + "fields": { + "createTime": { + "type": "google.protobuf.Timestamp", + "id": 1 + }, + "endTime": { + "type": "google.protobuf.Timestamp", + "id": 2 + }, + "target": { + "type": "string", + "id": 3 + }, + "verb": { + "type": "string", + "id": 4 + }, + "statusDetail": { + "type": "string", + "id": 5 + }, + "apiVersion": { + "type": "string", + "id": 6 + } + } + }, + "ContactPrivacy": { + "values": { + "CONTACT_PRIVACY_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA": 1, + "PRIVATE_CONTACT_DATA": 2, + "REDACTED_CONTACT_DATA": 3 + } + }, + "DomainNotice": { + "values": { + "DOMAIN_NOTICE_UNSPECIFIED": 0, + "HSTS_PRELOADED": 1 + } + }, + "ContactNotice": { + "values": { + "CONTACT_NOTICE_UNSPECIFIED": 0, + "PUBLIC_CONTACT_DATA_ACKNOWLEDGEMENT": 1 + } + }, + "TransferLockState": { + "values": { + "TRANSFER_LOCK_STATE_UNSPECIFIED": 0, + "UNLOCKED": 1, + "LOCKED": 2 + } + } + } + } + } + } + } + }, + "api": { + "options": { + "go_package": "google.golang.org/genproto/googleapis/api/annotations;annotations", + "java_multiple_files": true, + "java_outer_classname": "ResourceProto", + "java_package": "com.google.api", + "objc_class_prefix": "GAPI", + "cc_enable_arenas": true + }, + "nested": { + "http": { + "type": "HttpRule", + "id": 72295728, + "extend": "google.protobuf.MethodOptions" + }, + "Http": { + "fields": { + "rules": { + "rule": "repeated", + "type": "HttpRule", + "id": 1 + }, + "fullyDecodeReservedExpansion": { + "type": "bool", + "id": 2 + } + } + }, + "HttpRule": { + "oneofs": { + "pattern": { + "oneof": [ + "get", + "put", + "post", + "delete", + "patch", + "custom" + ] + } + }, + "fields": { + "selector": { + "type": "string", + "id": 1 + }, + "get": { + "type": "string", + "id": 2 + }, + "put": { + "type": "string", + "id": 3 + }, + "post": { + "type": "string", + "id": 4 + }, + "delete": { + "type": "string", + "id": 5 + }, + "patch": { + "type": "string", + "id": 6 + }, + "custom": { + "type": "CustomHttpPattern", + "id": 8 + }, + "body": { + "type": "string", + "id": 7 + }, + "responseBody": { + "type": "string", + "id": 12 + }, + "additionalBindings": { + "rule": "repeated", + "type": "HttpRule", + "id": 11 + } + } + }, + "CustomHttpPattern": { + "fields": { + "kind": { + "type": "string", + "id": 1 + }, + "path": { + "type": "string", + "id": 2 + } + } + }, + "methodSignature": { + "rule": "repeated", + "type": "string", + "id": 1051, + "extend": "google.protobuf.MethodOptions" + }, + "defaultHost": { + "type": "string", + "id": 1049, + "extend": "google.protobuf.ServiceOptions" + }, + "oauthScopes": { + "type": "string", + "id": 1050, + "extend": "google.protobuf.ServiceOptions" + }, + "fieldBehavior": { + "rule": "repeated", + "type": "google.api.FieldBehavior", + "id": 1052, + "extend": "google.protobuf.FieldOptions" + }, + "FieldBehavior": { + "values": { + "FIELD_BEHAVIOR_UNSPECIFIED": 0, + "OPTIONAL": 1, + "REQUIRED": 2, + "OUTPUT_ONLY": 3, + "INPUT_ONLY": 4, + "IMMUTABLE": 5, + "UNORDERED_LIST": 6, + "NON_EMPTY_DEFAULT": 7 + } + }, + "resourceReference": { + "type": "google.api.ResourceReference", + "id": 1055, + "extend": "google.protobuf.FieldOptions" + }, + "resourceDefinition": { + "rule": "repeated", + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.FileOptions" + }, + "resource": { + "type": "google.api.ResourceDescriptor", + "id": 1053, + "extend": "google.protobuf.MessageOptions" + }, + "ResourceDescriptor": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "pattern": { + "rule": "repeated", + "type": "string", + "id": 2 + }, + "nameField": { + "type": "string", + "id": 3 + }, + "history": { + "type": "History", + "id": 4 + }, + "plural": { + "type": "string", + "id": 5 + }, + "singular": { + "type": "string", + "id": 6 + }, + "style": { + "rule": "repeated", + "type": "Style", + "id": 10 + } + }, + "nested": { + "History": { + "values": { + "HISTORY_UNSPECIFIED": 0, + "ORIGINALLY_SINGLE_PATTERN": 1, + "FUTURE_MULTI_PATTERN": 2 + } + }, + "Style": { + "values": { + "STYLE_UNSPECIFIED": 0, + "DECLARATIVE_FRIENDLY": 1 + } + } + } + }, + "ResourceReference": { + "fields": { + "type": { + "type": "string", + "id": 1 + }, + "childType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "protobuf": { + "options": { + "go_package": "google.golang.org/protobuf/types/descriptorpb", + "java_package": "com.google.protobuf", + "java_outer_classname": "DescriptorProtos", + "csharp_namespace": "Google.Protobuf.Reflection", + "objc_class_prefix": "GPB", + "cc_enable_arenas": true, + "optimize_for": "SPEED" + }, + "nested": { + "FileDescriptorSet": { + "fields": { + "file": { + "rule": "repeated", + "type": "FileDescriptorProto", + "id": 1 + } + } + }, + "FileDescriptorProto": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "package": { + "type": "string", + "id": 2 + }, + "dependency": { + "rule": "repeated", + "type": "string", + "id": 3 + }, + "publicDependency": { + "rule": "repeated", + "type": "int32", + "id": 10, + "options": { + "packed": false + } + }, + "weakDependency": { + "rule": "repeated", + "type": "int32", + "id": 11, + "options": { + "packed": false + } + }, + "messageType": { + "rule": "repeated", + "type": "DescriptorProto", + "id": 4 + }, + "enumType": { + "rule": "repeated", + "type": "EnumDescriptorProto", + "id": 5 + }, + "service": { + "rule": "repeated", + "type": "ServiceDescriptorProto", + "id": 6 + }, + "extension": { + "rule": "repeated", + "type": "FieldDescriptorProto", + "id": 7 + }, + "options": { + "type": "FileOptions", + "id": 8 + }, + "sourceCodeInfo": { + "type": "SourceCodeInfo", + "id": 9 + }, + "syntax": { + "type": "string", + "id": 12 + }, + "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 + } + } + } + } + } + }, + "Any": { + "fields": { + "type_url": { + "type": "string", + "id": 1 + }, + "value": { + "type": "bytes", + "id": 2 + } + } + }, + "Duration": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + }, + "Empty": { + "fields": {} + }, + "FieldMask": { + "fields": { + "paths": { + "rule": "repeated", + "type": "string", + "id": 1 + } + } + }, + "Timestamp": { + "fields": { + "seconds": { + "type": "int64", + "id": 1 + }, + "nanos": { + "type": "int32", + "id": 2 + } + } + } + } + }, + "longrunning": { + "options": { + "cc_enable_arenas": true, + "csharp_namespace": "Google.LongRunning", + "go_package": "google.golang.org/genproto/googleapis/longrunning;longrunning", + "java_multiple_files": true, + "java_outer_classname": "OperationsProto", + "java_package": "com.google.longrunning", + "php_namespace": "Google\\LongRunning" + }, + "nested": { + "operationInfo": { + "type": "google.longrunning.OperationInfo", + "id": 1049, + "extend": "google.protobuf.MethodOptions" + }, + "Operations": { + "options": { + "(google.api.default_host)": "longrunning.googleapis.com" + }, + "methods": { + "ListOperations": { + "requestType": "ListOperationsRequest", + "responseType": "ListOperationsResponse", + "options": { + "(google.api.http).get": "/v1/{name=operations}", + "(google.api.method_signature)": "name,filter" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations}" + } + }, + { + "(google.api.method_signature)": "name,filter" + } + ] + }, + "GetOperation": { + "requestType": "GetOperationRequest", + "responseType": "Operation", + "options": { + "(google.api.http).get": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "get": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "DeleteOperation": { + "requestType": "DeleteOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).delete": "/v1/{name=operations/**}", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "delete": "/v1/{name=operations/**}" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "CancelOperation": { + "requestType": "CancelOperationRequest", + "responseType": "google.protobuf.Empty", + "options": { + "(google.api.http).post": "/v1/{name=operations/**}:cancel", + "(google.api.http).body": "*", + "(google.api.method_signature)": "name" + }, + "parsedOptions": [ + { + "(google.api.http)": { + "post": "/v1/{name=operations/**}:cancel", + "body": "*" + } + }, + { + "(google.api.method_signature)": "name" + } + ] + }, + "WaitOperation": { + "requestType": "WaitOperationRequest", + "responseType": "Operation" + } + } + }, + "Operation": { + "oneofs": { + "result": { + "oneof": [ + "error", + "response" + ] + } + }, + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "metadata": { + "type": "google.protobuf.Any", + "id": 2 + }, + "done": { + "type": "bool", + "id": 3 + }, + "error": { + "type": "google.rpc.Status", + "id": 4 + }, + "response": { + "type": "google.protobuf.Any", + "id": 5 + } + } + }, + "GetOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "ListOperationsRequest": { + "fields": { + "name": { + "type": "string", + "id": 4 + }, + "filter": { + "type": "string", + "id": 1 + }, + "pageSize": { + "type": "int32", + "id": 2 + }, + "pageToken": { + "type": "string", + "id": 3 + } + } + }, + "ListOperationsResponse": { + "fields": { + "operations": { + "rule": "repeated", + "type": "Operation", + "id": 1 + }, + "nextPageToken": { + "type": "string", + "id": 2 + } + } + }, + "CancelOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "DeleteOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + } + } + }, + "WaitOperationRequest": { + "fields": { + "name": { + "type": "string", + "id": 1 + }, + "timeout": { + "type": "google.protobuf.Duration", + "id": 2 + } + } + }, + "OperationInfo": { + "fields": { + "responseType": { + "type": "string", + "id": 1 + }, + "metadataType": { + "type": "string", + "id": 2 + } + } + } + } + }, + "rpc": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/rpc/status;status", + "java_multiple_files": true, + "java_outer_classname": "StatusProto", + "java_package": "com.google.rpc", + "objc_class_prefix": "RPC" + }, + "nested": { + "Status": { + "fields": { + "code": { + "type": "int32", + "id": 1 + }, + "message": { + "type": "string", + "id": 2 + }, + "details": { + "rule": "repeated", + "type": "google.protobuf.Any", + "id": 3 + } + } + } + } + }, + "type": { + "options": { + "cc_enable_arenas": true, + "go_package": "google.golang.org/genproto/googleapis/type/postaladdress;postaladdress", + "java_multiple_files": true, + "java_outer_classname": "PostalAddressProto", + "java_package": "com.google.type", + "objc_class_prefix": "GTP" + }, + "nested": { + "Money": { + "fields": { + "currencyCode": { + "type": "string", + "id": 1 + }, + "units": { + "type": "int64", + "id": 2 + }, + "nanos": { + "type": "int32", + "id": 3 + } + } + }, + "PostalAddress": { + "fields": { + "revision": { + "type": "int32", + "id": 1 + }, + "regionCode": { + "type": "string", + "id": 2 + }, + "languageCode": { + "type": "string", + "id": 3 + }, + "postalCode": { + "type": "string", + "id": 4 + }, + "sortingCode": { + "type": "string", + "id": 5 + }, + "administrativeArea": { + "type": "string", + "id": 6 + }, + "locality": { + "type": "string", + "id": 7 + }, + "sublocality": { + "type": "string", + "id": 8 + }, + "addressLines": { + "rule": "repeated", + "type": "string", + "id": 9 + }, + "recipients": { + "rule": "repeated", + "type": "string", + "id": 10 + }, + "organization": { + "type": "string", + "id": 11 + } + } + } + } + } + } + } + } +} \ No newline at end of file diff --git a/packages/google-cloud-domains/samples/README.md b/packages/google-cloud-domains/samples/README.md new file mode 100644 index 00000000000..ddae4afc370 --- /dev/null +++ b/packages/google-cloud-domains/samples/README.md @@ -0,0 +1,50 @@ +[//]: # "This README.md file is auto-generated, all changes to this file will be lost." +[//]: # "To regenerate it, use `python -m synthtool`." +Google Cloud Platform logo + +# [Cloud Domains: Node.js Samples](https://github.com/googleapis/nodejs-domains) + +[![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-domains#using-the-client-library). + +`cd samples` + +`npm install` + +`cd ..` + +## Samples + + + +### Quickstart + +View the [source code](https://github.com/googleapis/nodejs-domains/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-domains&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-domains&page=editor&open_in_editor=samples/README.md +[product-docs]: https://cloud.google.com/domains/ diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.configure_contact_settings.js b/packages/google-cloud-domains/samples/generated/v1/domains.configure_contact_settings.js new file mode 100644 index 00000000000..3bae54ac966 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.configure_contact_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1_generated_Domains_ConfigureContactSettings_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. + */ + /** + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ContactSettings` to update. + */ + // const contactSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + */ + // const updateMask = {} + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + */ + // const contactNotices = 1234 + /** + * Validate the request without actually updating the contact settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureContactSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureContactSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureContactSettings(); + // [END domains_v1_generated_Domains_ConfigureContactSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.configure_dns_settings.js b/packages/google-cloud-domains/samples/generated/v1/domains.configure_dns_settings.js new file mode 100644 index 00000000000..b538cf224a8 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.configure_dns_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1_generated_Domains_ConfigureDnsSettings_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. + */ + /** + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `DnsSettings` to update. + */ + // const dnsSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + */ + // const updateMask = {} + /** + * Validate the request without actually updating the DNS settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureDnsSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureDnsSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureDnsSettings(); + // [END domains_v1_generated_Domains_ConfigureDnsSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.configure_management_settings.js b/packages/google-cloud-domains/samples/generated/v1/domains.configure_management_settings.js new file mode 100644 index 00000000000..26f8f6e40b5 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.configure_management_settings.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(registration, updateMask) { + // [START domains_v1_generated_Domains_ConfigureManagementSettings_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. + */ + /** + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ManagementSettings` to update. + */ + // const managementSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureManagementSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureManagementSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureManagementSettings(); + // [END domains_v1_generated_Domains_ConfigureManagementSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.delete_registration.js b/packages/google-cloud-domains/samples/generated/v1/domains.delete_registration.js new file mode 100644 index 00000000000..2a27b2286a3 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.delete_registration.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(name) { + // [START domains_v1_generated_Domains_DeleteRegistration_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. + */ + /** + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callDeleteRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.deleteRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDeleteRegistration(); + // [END domains_v1_generated_Domains_DeleteRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.export_registration.js b/packages/google-cloud-domains/samples/generated/v1/domains.export_registration.js new file mode 100644 index 00000000000..d591f0c46bf --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.export_registration.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(name) { + // [START domains_v1_generated_Domains_ExportRegistration_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. + */ + /** + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callExportRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.exportRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callExportRegistration(); + // [END domains_v1_generated_Domains_ExportRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.get_registration.js b/packages/google-cloud-domains/samples/generated/v1/domains.get_registration.js new file mode 100644 index 00000000000..35bdcbd075a --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.get_registration.js @@ -0,0 +1,62 @@ +// 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(name) { + // [START domains_v1_generated_Domains_GetRegistration_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. + */ + /** + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callGetRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await domainsClient.getRegistration(request); + console.log(response); + } + + callGetRegistration(); + // [END domains_v1_generated_Domains_GetRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.list_registrations.js b/packages/google-cloud-domains/samples/generated/v1/domains.list_registrations.js new file mode 100644 index 00000000000..6e1c1bc0fcc --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.list_registrations.js @@ -0,0 +1,89 @@ +// 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(parent) { + // [START domains_v1_generated_Domains_ListRegistrations_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. + */ + /** + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Maximum number of results to return. + */ + // const pageSize = 1234 + /** + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + */ + // const pageToken = 'abc123' + /** + * Filter expression to restrict the `Registration`s returned. + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + */ + // const filter = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callListRegistrations() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await domainsClient.listRegistrationsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListRegistrations(); + // [END domains_v1_generated_Domains_ListRegistrations_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.register_domain.js b/packages/google-cloud-domains/samples/generated/v1/domains.register_domain.js new file mode 100644 index 00000000000..f8bdaa84274 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.register_domain.js @@ -0,0 +1,92 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1_generated_Domains_RegisterDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + */ + // const registration = {} + /** + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + */ + // const domainNotices = 1234 + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + */ + // const yearlyPrice = {} + /** + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRegisterDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.registerDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callRegisterDomain(); + // [END domains_v1_generated_Domains_RegisterDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.reset_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1/domains.reset_authorization_code.js new file mode 100644 index 00000000000..75e6b5b9b06 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.reset_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1_generated_Domains_ResetAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callResetAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.resetAuthorizationCode(request); + console.log(response); + } + + callResetAuthorizationCode(); + // [END domains_v1_generated_Domains_ResetAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_authorization_code.js new file mode 100644 index 00000000000..ff8a258b094 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1_generated_Domains_RetrieveAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.retrieveAuthorizationCode(request); + console.log(response); + } + + callRetrieveAuthorizationCode(); + // [END domains_v1_generated_Domains_RetrieveAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_register_parameters.js b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_register_parameters.js new file mode 100644 index 00000000000..9e0da5e23bf --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_register_parameters.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(domainName, location) { + // [START domains_v1_generated_Domains_RetrieveRegisterParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveRegisterParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveRegisterParameters(request); + console.log(response); + } + + callRetrieveRegisterParameters(); + // [END domains_v1_generated_Domains_RetrieveRegisterParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_transfer_parameters.js b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_transfer_parameters.js new file mode 100644 index 00000000000..392246b2b14 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.retrieve_transfer_parameters.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(domainName, location) { + // [START domains_v1_generated_Domains_RetrieveTransferParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveTransferParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveTransferParameters(request); + console.log(response); + } + + callRetrieveTransferParameters(); + // [END domains_v1_generated_Domains_RetrieveTransferParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.search_domains.js b/packages/google-cloud-domains/samples/generated/v1/domains.search_domains.js new file mode 100644 index 00000000000..6088d6e9154 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.search_domains.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(query, location) { + // [START domains_v1_generated_Domains_SearchDomains_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. + */ + /** + * Required. String used to search for available domain names. + */ + // const query = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callSearchDomains() { + // Construct request + const request = { + query, + location, + }; + + // Run request + const response = await domainsClient.searchDomains(request); + console.log(response); + } + + callSearchDomains(); + // [END domains_v1_generated_Domains_SearchDomains_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.transfer_domain.js b/packages/google-cloud-domains/samples/generated/v1/domains.transfer_domain.js new file mode 100644 index 00000000000..794c19590d2 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.transfer_domain.js @@ -0,0 +1,95 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1_generated_Domains_TransferDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + */ + // const registration = {} + /** + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + */ + // const yearlyPrice = {} + /** + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + */ + // const authorizationCode = {} + /** + * Validate the request without actually transferring the domain. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callTransferDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.transferDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callTransferDomain(); + // [END domains_v1_generated_Domains_TransferDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/domains.update_registration.js b/packages/google-cloud-domains/samples/generated/v1/domains.update_registration.js new file mode 100644 index 00000000000..e1451a35dd6 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/domains.update_registration.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(updateMask) { + // [START domains_v1_generated_Domains_UpdateRegistration_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. + */ + /** + * Fields of the `Registration` to update. + */ + // const registration = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callUpdateRegistration() { + // Construct request + const request = { + updateMask, + }; + + // Run request + const [operation] = await domainsClient.updateRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callUpdateRegistration(); + // [END domains_v1_generated_Domains_UpdateRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1/snippet_metadata.google.cloud.domains.v1.json b/packages/google-cloud-domains/samples/generated/v1/snippet_metadata.google.cloud.domains.v1.json new file mode 100644 index 00000000000..ba06a019a8a --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1/snippet_metadata.google.cloud.domains.v1.json @@ -0,0 +1,719 @@ +{ + "clientLibrary": { + "name": "nodejs-domains", + "version": "2.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.domains.v1", + "version": "v1" + } + ] + }, + "snippets": [ + { + "regionTag": "domains_v1_generated_Domains_SearchDomains_async", + "title": "Domains searchDomains Sample", + "origin": "API_DEFINITION", + "description": " Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", + "canonical": true, + "file": "domains.search_domains.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1.Domains.SearchDomains", + "async": true, + "parameters": [ + { + "name": "query", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.SearchDomainsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1.Domains.SearchDomains", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_RetrieveRegisterParameters_async", + "title": "Domains retrieveRegisterParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`.", + "canonical": true, + "file": "domains.retrieve_register_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1.Domains.RetrieveRegisterParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.RetrieveRegisterParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1.Domains.RetrieveRegisterParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_RegisterDomain_async", + "title": "Domains registerDomain Sample", + "origin": "API_DEFINITION", + "description": " Registers a new domain name and creates a corresponding `Registration` resource. Call `RetrieveRegisterParameters` first to check availability of the domain name and determine parameters like price that are needed to build a call to this method. A successful call creates a `Registration` resource in state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state `REGISTRATION_FAILED`, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.", + "canonical": true, + "file": "domains.register_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 84, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1.Domains.RegisterDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1.Registration" + }, + { + "name": "domain_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1.Domains.RegisterDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_RetrieveTransferParameters_async", + "title": "Domains retrieveTransferParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "canonical": true, + "file": "domains.retrieve_transfer_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1.Domains.RetrieveTransferParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.RetrieveTransferParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1.Domains.RetrieveTransferParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_TransferDomain_async", + "title": "Domains transferDomain Sample", + "origin": "API_DEFINITION", + "description": " Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "canonical": true, + "file": "domains.transfer_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 87, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1.Domains.TransferDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1.Registration" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "authorization_code", + "type": ".google.cloud.domains.v1.AuthorizationCode" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1.Domains.TransferDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ListRegistrations_async", + "title": "Domains listRegistrations Sample", + "origin": "API_DEFINITION", + "description": " Lists the `Registration` resources in a project.", + "canonical": true, + "file": "domains.list_registrations.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 81, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1.Domains.ListRegistrations", + "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.cloud.domains.v1.ListRegistrationsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1.Domains.ListRegistrations", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_GetRegistration_async", + "title": "Domains getRegistration Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a `Registration` resource.", + "canonical": true, + "file": "domains.get_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1.Domains.GetRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.Registration", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1.Domains.GetRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_UpdateRegistration_async", + "title": "Domains updateRegistration Sample", + "origin": "API_DEFINITION", + "description": " Updates select fields of a `Registration` resource, notably `labels`. To update other fields, use the appropriate custom update method: * To update management settings, see `ConfigureManagementSettings` * To update DNS configuration, see `ConfigureDnsSettings` * To update contact information, see `ConfigureContactSettings`", + "canonical": true, + "file": "domains.update_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1.Domains.UpdateRegistration", + "async": true, + "parameters": [ + { + "name": "registration", + "type": ".google.cloud.domains.v1.Registration" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1.Domains.UpdateRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ConfigureManagementSettings_async", + "title": "Domains configureManagementSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s management settings.", + "canonical": true, + "file": "domains.configure_management_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureManagementSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "management_settings", + "type": ".google.cloud.domains.v1.ManagementSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureManagementSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ConfigureDnsSettings_async", + "title": "Domains configureDnsSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s DNS settings.", + "canonical": true, + "file": "domains.configure_dns_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureDnsSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "dns_settings", + "type": ".google.cloud.domains.v1.DnsSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureDnsSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ConfigureContactSettings_async", + "title": "Domains configureContactSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s contact settings. Some changes require confirmation by the domain's registrant contact .", + "canonical": true, + "file": "domains.configure_contact_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureContactSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "contact_settings", + "type": ".google.cloud.domains.v1.ContactSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1.Domains.ConfigureContactSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ExportRegistration_async", + "title": "Domains exportRegistration Sample", + "origin": "API_DEFINITION", + "description": " Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.export_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1.Domains.ExportRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1.Domains.ExportRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_DeleteRegistration_async", + "title": "Domains deleteRegistration Sample", + "origin": "API_DEFINITION", + "description": " Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.delete_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1.Domains.DeleteRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1.Domains.DeleteRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_RetrieveAuthorizationCode_async", + "title": "Domains retrieveAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.retrieve_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1.Domains.RetrieveAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1.Domains.RetrieveAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1_generated_Domains_ResetAuthorizationCode_async", + "title": "Domains resetAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.reset_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1.Domains.ResetAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1.DomainsClient" + }, + "method": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1.Domains.ResetAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1.Domains" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_contact_settings.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_contact_settings.js new file mode 100644 index 00000000000..84cc3b53e22 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_contact_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1alpha2_generated_Domains_ConfigureContactSettings_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. + */ + /** + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ContactSettings` to update. + */ + // const contactSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + */ + // const updateMask = {} + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + */ + // const contactNotices = 1234 + /** + * Validate the request without actually updating the contact settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureContactSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureContactSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureContactSettings(); + // [END domains_v1alpha2_generated_Domains_ConfigureContactSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_dns_settings.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_dns_settings.js new file mode 100644 index 00000000000..276058f6727 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_dns_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1alpha2_generated_Domains_ConfigureDnsSettings_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. + */ + /** + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `DnsSettings` to update. + */ + // const dnsSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + */ + // const updateMask = {} + /** + * Validate the request without actually updating the DNS settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureDnsSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureDnsSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureDnsSettings(); + // [END domains_v1alpha2_generated_Domains_ConfigureDnsSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_management_settings.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_management_settings.js new file mode 100644 index 00000000000..e899f999412 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.configure_management_settings.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(registration, updateMask) { + // [START domains_v1alpha2_generated_Domains_ConfigureManagementSettings_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. + */ + /** + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ManagementSettings` to update. + */ + // const managementSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureManagementSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureManagementSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureManagementSettings(); + // [END domains_v1alpha2_generated_Domains_ConfigureManagementSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.delete_registration.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.delete_registration.js new file mode 100644 index 00000000000..29753726cd9 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.delete_registration.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(name) { + // [START domains_v1alpha2_generated_Domains_DeleteRegistration_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. + */ + /** + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callDeleteRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.deleteRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDeleteRegistration(); + // [END domains_v1alpha2_generated_Domains_DeleteRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.export_registration.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.export_registration.js new file mode 100644 index 00000000000..75c208d3035 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.export_registration.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(name) { + // [START domains_v1alpha2_generated_Domains_ExportRegistration_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. + */ + /** + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callExportRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.exportRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callExportRegistration(); + // [END domains_v1alpha2_generated_Domains_ExportRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.get_registration.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.get_registration.js new file mode 100644 index 00000000000..336cb2eecf9 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.get_registration.js @@ -0,0 +1,62 @@ +// 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(name) { + // [START domains_v1alpha2_generated_Domains_GetRegistration_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. + */ + /** + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callGetRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await domainsClient.getRegistration(request); + console.log(response); + } + + callGetRegistration(); + // [END domains_v1alpha2_generated_Domains_GetRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.list_registrations.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.list_registrations.js new file mode 100644 index 00000000000..7327900d3a8 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.list_registrations.js @@ -0,0 +1,89 @@ +// 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(parent) { + // [START domains_v1alpha2_generated_Domains_ListRegistrations_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. + */ + /** + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Maximum number of results to return. + */ + // const pageSize = 1234 + /** + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + */ + // const pageToken = 'abc123' + /** + * Filter expression to restrict the `Registration`s returned. + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + */ + // const filter = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callListRegistrations() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await domainsClient.listRegistrationsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListRegistrations(); + // [END domains_v1alpha2_generated_Domains_ListRegistrations_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.register_domain.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.register_domain.js new file mode 100644 index 00000000000..1f37d45cf36 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.register_domain.js @@ -0,0 +1,92 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1alpha2_generated_Domains_RegisterDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + */ + // const registration = {} + /** + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + */ + // const domainNotices = 1234 + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + */ + // const yearlyPrice = {} + /** + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRegisterDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.registerDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callRegisterDomain(); + // [END domains_v1alpha2_generated_Domains_RegisterDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.reset_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.reset_authorization_code.js new file mode 100644 index 00000000000..f94c9021a88 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.reset_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1alpha2_generated_Domains_ResetAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callResetAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.resetAuthorizationCode(request); + console.log(response); + } + + callResetAuthorizationCode(); + // [END domains_v1alpha2_generated_Domains_ResetAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_authorization_code.js new file mode 100644 index 00000000000..8b7586e9b2e --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1alpha2_generated_Domains_RetrieveAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.retrieveAuthorizationCode(request); + console.log(response); + } + + callRetrieveAuthorizationCode(); + // [END domains_v1alpha2_generated_Domains_RetrieveAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_register_parameters.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_register_parameters.js new file mode 100644 index 00000000000..96f29609e07 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_register_parameters.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(domainName, location) { + // [START domains_v1alpha2_generated_Domains_RetrieveRegisterParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveRegisterParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveRegisterParameters(request); + console.log(response); + } + + callRetrieveRegisterParameters(); + // [END domains_v1alpha2_generated_Domains_RetrieveRegisterParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_transfer_parameters.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_transfer_parameters.js new file mode 100644 index 00000000000..254bcc3d9a1 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.retrieve_transfer_parameters.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(domainName, location) { + // [START domains_v1alpha2_generated_Domains_RetrieveTransferParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveTransferParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveTransferParameters(request); + console.log(response); + } + + callRetrieveTransferParameters(); + // [END domains_v1alpha2_generated_Domains_RetrieveTransferParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.search_domains.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.search_domains.js new file mode 100644 index 00000000000..3516955e962 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.search_domains.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(query, location) { + // [START domains_v1alpha2_generated_Domains_SearchDomains_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. + */ + /** + * Required. String used to search for available domain names. + */ + // const query = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callSearchDomains() { + // Construct request + const request = { + query, + location, + }; + + // Run request + const response = await domainsClient.searchDomains(request); + console.log(response); + } + + callSearchDomains(); + // [END domains_v1alpha2_generated_Domains_SearchDomains_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.transfer_domain.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.transfer_domain.js new file mode 100644 index 00000000000..67568e66981 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.transfer_domain.js @@ -0,0 +1,95 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1alpha2_generated_Domains_TransferDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + */ + // const registration = {} + /** + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + */ + // const yearlyPrice = {} + /** + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + */ + // const authorizationCode = {} + /** + * Validate the request without actually transferring the domain. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callTransferDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.transferDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callTransferDomain(); + // [END domains_v1alpha2_generated_Domains_TransferDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/domains.update_registration.js b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.update_registration.js new file mode 100644 index 00000000000..323bb9ead7b --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/domains.update_registration.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(updateMask) { + // [START domains_v1alpha2_generated_Domains_UpdateRegistration_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. + */ + /** + * Fields of the `Registration` to update. + */ + // const registration = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1alpha2; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callUpdateRegistration() { + // Construct request + const request = { + updateMask, + }; + + // Run request + const [operation] = await domainsClient.updateRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callUpdateRegistration(); + // [END domains_v1alpha2_generated_Domains_UpdateRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1alpha2/snippet_metadata.google.cloud.domains.v1alpha2.json b/packages/google-cloud-domains/samples/generated/v1alpha2/snippet_metadata.google.cloud.domains.v1alpha2.json new file mode 100644 index 00000000000..319f5fe8af2 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1alpha2/snippet_metadata.google.cloud.domains.v1alpha2.json @@ -0,0 +1,719 @@ +{ + "clientLibrary": { + "name": "nodejs-domains", + "version": "2.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.domains.v1alpha2", + "version": "v1alpha2" + } + ] + }, + "snippets": [ + { + "regionTag": "domains_v1alpha2_generated_Domains_SearchDomains_async", + "title": "Domains searchDomains Sample", + "origin": "API_DEFINITION", + "description": " Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", + "canonical": true, + "file": "domains.search_domains.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1alpha2.Domains.SearchDomains", + "async": true, + "parameters": [ + { + "name": "query", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.SearchDomainsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1alpha2.Domains.SearchDomains", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_RetrieveRegisterParameters_async", + "title": "Domains retrieveRegisterParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`.", + "canonical": true, + "file": "domains.retrieve_register_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveRegisterParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveRegisterParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_RegisterDomain_async", + "title": "Domains registerDomain Sample", + "origin": "API_DEFINITION", + "description": " Registers a new domain name and creates a corresponding `Registration` resource. Call `RetrieveRegisterParameters` first to check availability of the domain name and determine parameters like price that are needed to build a call to this method. A successful call creates a `Registration` resource in state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state `REGISTRATION_FAILED`, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.", + "canonical": true, + "file": "domains.register_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 84, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1alpha2.Domains.RegisterDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1alpha2.Registration" + }, + { + "name": "domain_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1alpha2.Domains.RegisterDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_RetrieveTransferParameters_async", + "title": "Domains retrieveTransferParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "canonical": true, + "file": "domains.retrieve_transfer_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveTransferParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveTransferParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_TransferDomain_async", + "title": "Domains transferDomain Sample", + "origin": "API_DEFINITION", + "description": " Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "canonical": true, + "file": "domains.transfer_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 87, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1alpha2.Domains.TransferDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1alpha2.Registration" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "authorization_code", + "type": ".google.cloud.domains.v1alpha2.AuthorizationCode" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1alpha2.Domains.TransferDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ListRegistrations_async", + "title": "Domains listRegistrations Sample", + "origin": "API_DEFINITION", + "description": " Lists the `Registration` resources in a project.", + "canonical": true, + "file": "domains.list_registrations.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 81, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1alpha2.Domains.ListRegistrations", + "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.cloud.domains.v1alpha2.ListRegistrationsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1alpha2.Domains.ListRegistrations", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_GetRegistration_async", + "title": "Domains getRegistration Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a `Registration` resource.", + "canonical": true, + "file": "domains.get_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.GetRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.Registration", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.GetRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_UpdateRegistration_async", + "title": "Domains updateRegistration Sample", + "origin": "API_DEFINITION", + "description": " Updates select fields of a `Registration` resource, notably `labels`. To update other fields, use the appropriate custom update method: * To update management settings, see `ConfigureManagementSettings` * To update DNS configuration, see `ConfigureDnsSettings` * To update contact information, see `ConfigureContactSettings`", + "canonical": true, + "file": "domains.update_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.UpdateRegistration", + "async": true, + "parameters": [ + { + "name": "registration", + "type": ".google.cloud.domains.v1alpha2.Registration" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.UpdateRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ConfigureManagementSettings_async", + "title": "Domains configureManagementSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s management settings.", + "canonical": true, + "file": "domains.configure_management_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureManagementSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "management_settings", + "type": ".google.cloud.domains.v1alpha2.ManagementSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureManagementSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ConfigureDnsSettings_async", + "title": "Domains configureDnsSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s DNS settings.", + "canonical": true, + "file": "domains.configure_dns_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureDnsSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "dns_settings", + "type": ".google.cloud.domains.v1alpha2.DnsSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureDnsSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ConfigureContactSettings_async", + "title": "Domains configureContactSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s contact settings. Some changes require confirmation by the domain's registrant contact .", + "canonical": true, + "file": "domains.configure_contact_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureContactSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "contact_settings", + "type": ".google.cloud.domains.v1alpha2.ContactSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1alpha2.Domains.ConfigureContactSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ExportRegistration_async", + "title": "Domains exportRegistration Sample", + "origin": "API_DEFINITION", + "description": " Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.export_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.ExportRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.ExportRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_DeleteRegistration_async", + "title": "Domains deleteRegistration Sample", + "origin": "API_DEFINITION", + "description": " Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.delete_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.DeleteRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1alpha2.Domains.DeleteRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_RetrieveAuthorizationCode_async", + "title": "Domains retrieveAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.retrieve_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1alpha2.Domains.RetrieveAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + }, + { + "regionTag": "domains_v1alpha2_generated_Domains_ResetAuthorizationCode_async", + "title": "Domains resetAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.reset_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1alpha2.Domains.ResetAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1alpha2.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1alpha2.DomainsClient" + }, + "method": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1alpha2.Domains.ResetAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1alpha2.Domains" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_contact_settings.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_contact_settings.js new file mode 100644 index 00000000000..9bc5fd0e901 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_contact_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1beta1_generated_Domains_ConfigureContactSettings_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. + */ + /** + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ContactSettings` to update. + */ + // const contactSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + */ + // const updateMask = {} + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + */ + // const contactNotices = 1234 + /** + * Validate the request without actually updating the contact settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureContactSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureContactSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureContactSettings(); + // [END domains_v1beta1_generated_Domains_ConfigureContactSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_dns_settings.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_dns_settings.js new file mode 100644 index 00000000000..b5843e10ba9 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_dns_settings.js @@ -0,0 +1,83 @@ +// 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(registration, updateMask) { + // [START domains_v1beta1_generated_Domains_ConfigureDnsSettings_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. + */ + /** + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `DnsSettings` to update. + */ + // const dnsSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + */ + // const updateMask = {} + /** + * Validate the request without actually updating the DNS settings. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureDnsSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureDnsSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureDnsSettings(); + // [END domains_v1beta1_generated_Domains_ConfigureDnsSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_management_settings.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_management_settings.js new file mode 100644 index 00000000000..619342fd370 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.configure_management_settings.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(registration, updateMask) { + // [START domains_v1beta1_generated_Domains_ConfigureManagementSettings_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. + */ + /** + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + /** + * Fields of the `ManagementSettings` to update. + */ + // const managementSettings = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callConfigureManagementSettings() { + // Construct request + const request = { + registration, + updateMask, + }; + + // Run request + const [operation] = await domainsClient.configureManagementSettings(request); + const [response] = await operation.promise(); + console.log(response); + } + + callConfigureManagementSettings(); + // [END domains_v1beta1_generated_Domains_ConfigureManagementSettings_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.delete_registration.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.delete_registration.js new file mode 100644 index 00000000000..eae033d6efe --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.delete_registration.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(name) { + // [START domains_v1beta1_generated_Domains_DeleteRegistration_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. + */ + /** + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callDeleteRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.deleteRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callDeleteRegistration(); + // [END domains_v1beta1_generated_Domains_DeleteRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.export_registration.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.export_registration.js new file mode 100644 index 00000000000..994c879a9a0 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.export_registration.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(name) { + // [START domains_v1beta1_generated_Domains_ExportRegistration_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. + */ + /** + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callExportRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const [operation] = await domainsClient.exportRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callExportRegistration(); + // [END domains_v1beta1_generated_Domains_ExportRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.get_registration.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.get_registration.js new file mode 100644 index 00000000000..b1da95b50a7 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.get_registration.js @@ -0,0 +1,62 @@ +// 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(name) { + // [START domains_v1beta1_generated_Domains_GetRegistration_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. + */ + /** + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + */ + // const name = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callGetRegistration() { + // Construct request + const request = { + name, + }; + + // Run request + const response = await domainsClient.getRegistration(request); + console.log(response); + } + + callGetRegistration(); + // [END domains_v1beta1_generated_Domains_GetRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.list_registrations.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.list_registrations.js new file mode 100644 index 00000000000..cf4bb1012f1 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.list_registrations.js @@ -0,0 +1,89 @@ +// 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(parent) { + // [START domains_v1beta1_generated_Domains_ListRegistrations_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. + */ + /** + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Maximum number of results to return. + */ + // const pageSize = 1234 + /** + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + */ + // const pageToken = 'abc123' + /** + * Filter expression to restrict the `Registration`s returned. + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + */ + // const filter = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callListRegistrations() { + // Construct request + const request = { + parent, + }; + + // Run request + const iterable = await domainsClient.listRegistrationsAsync(request); + for await (const response of iterable) { + console.log(response); + } + } + + callListRegistrations(); + // [END domains_v1beta1_generated_Domains_ListRegistrations_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.register_domain.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.register_domain.js new file mode 100644 index 00000000000..4e739f0958d --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.register_domain.js @@ -0,0 +1,92 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1beta1_generated_Domains_RegisterDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + */ + // const registration = {} + /** + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + */ + // const domainNotices = 1234 + /** + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + */ + // const yearlyPrice = {} + /** + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRegisterDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.registerDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callRegisterDomain(); + // [END domains_v1beta1_generated_Domains_RegisterDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.reset_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.reset_authorization_code.js new file mode 100644 index 00000000000..b9622d88bef --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.reset_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1beta1_generated_Domains_ResetAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callResetAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.resetAuthorizationCode(request); + console.log(response); + } + + callResetAuthorizationCode(); + // [END domains_v1beta1_generated_Domains_ResetAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_authorization_code.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_authorization_code.js new file mode 100644 index 00000000000..d058b20e396 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_authorization_code.js @@ -0,0 +1,62 @@ +// 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(registration) { + // [START domains_v1beta1_generated_Domains_RetrieveAuthorizationCode_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. + */ + /** + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + */ + // const registration = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveAuthorizationCode() { + // Construct request + const request = { + registration, + }; + + // Run request + const response = await domainsClient.retrieveAuthorizationCode(request); + console.log(response); + } + + callRetrieveAuthorizationCode(); + // [END domains_v1beta1_generated_Domains_RetrieveAuthorizationCode_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_register_parameters.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_register_parameters.js new file mode 100644 index 00000000000..a0813723bda --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_register_parameters.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(domainName, location) { + // [START domains_v1beta1_generated_Domains_RetrieveRegisterParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveRegisterParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveRegisterParameters(request); + console.log(response); + } + + callRetrieveRegisterParameters(); + // [END domains_v1beta1_generated_Domains_RetrieveRegisterParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_transfer_parameters.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_transfer_parameters.js new file mode 100644 index 00000000000..065eb5b2e3a --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.retrieve_transfer_parameters.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(domainName, location) { + // [START domains_v1beta1_generated_Domains_RetrieveTransferParameters_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. + */ + /** + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + */ + // const domainName = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callRetrieveTransferParameters() { + // Construct request + const request = { + domainName, + location, + }; + + // Run request + const response = await domainsClient.retrieveTransferParameters(request); + console.log(response); + } + + callRetrieveTransferParameters(); + // [END domains_v1beta1_generated_Domains_RetrieveTransferParameters_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.search_domains.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.search_domains.js new file mode 100644 index 00000000000..17b3719d129 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.search_domains.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(query, location) { + // [START domains_v1beta1_generated_Domains_SearchDomains_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. + */ + /** + * Required. String used to search for available domain names. + */ + // const query = 'abc123' + /** + * Required. The location. Must be in the format `projects/* /locations/*`. + */ + // const location = 'abc123' + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callSearchDomains() { + // Construct request + const request = { + query, + location, + }; + + // Run request + const response = await domainsClient.searchDomains(request); + console.log(response); + } + + callSearchDomains(); + // [END domains_v1beta1_generated_Domains_SearchDomains_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.transfer_domain.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.transfer_domain.js new file mode 100644 index 00000000000..17a268bbe60 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.transfer_domain.js @@ -0,0 +1,95 @@ +// 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(parent, registration, yearlyPrice) { + // [START domains_v1beta1_generated_Domains_TransferDomain_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. + */ + /** + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + */ + // const parent = 'abc123' + /** + * Required. The complete `Registration` resource to be created. + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + */ + // const registration = {} + /** + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + */ + // const contactNotices = 1234 + /** + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + */ + // const yearlyPrice = {} + /** + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + */ + // const authorizationCode = {} + /** + * Validate the request without actually transferring the domain. + */ + // const validateOnly = true + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callTransferDomain() { + // Construct request + const request = { + parent, + registration, + yearlyPrice, + }; + + // Run request + const [operation] = await domainsClient.transferDomain(request); + const [response] = await operation.promise(); + console.log(response); + } + + callTransferDomain(); + // [END domains_v1beta1_generated_Domains_TransferDomain_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/domains.update_registration.js b/packages/google-cloud-domains/samples/generated/v1beta1/domains.update_registration.js new file mode 100644 index 00000000000..c1357ac0a44 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/domains.update_registration.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(updateMask) { + // [START domains_v1beta1_generated_Domains_UpdateRegistration_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. + */ + /** + * Fields of the `Registration` to update. + */ + // const registration = {} + /** + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + */ + // const updateMask = {} + + // Imports the Domains library + const {DomainsClient} = require('@google-cloud/domains').v1beta1; + + // Instantiates a client + const domainsClient = new DomainsClient(); + + async function callUpdateRegistration() { + // Construct request + const request = { + updateMask, + }; + + // Run request + const [operation] = await domainsClient.updateRegistration(request); + const [response] = await operation.promise(); + console.log(response); + } + + callUpdateRegistration(); + // [END domains_v1beta1_generated_Domains_UpdateRegistration_async] +} + +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); +main(...process.argv.slice(2)); diff --git a/packages/google-cloud-domains/samples/generated/v1beta1/snippet_metadata.google.cloud.domains.v1beta1.json b/packages/google-cloud-domains/samples/generated/v1beta1/snippet_metadata.google.cloud.domains.v1beta1.json new file mode 100644 index 00000000000..ae37fadbcf8 --- /dev/null +++ b/packages/google-cloud-domains/samples/generated/v1beta1/snippet_metadata.google.cloud.domains.v1beta1.json @@ -0,0 +1,719 @@ +{ + "clientLibrary": { + "name": "nodejs-domains", + "version": "2.1.2", + "language": "TYPESCRIPT", + "apis": [ + { + "id": "google.cloud.domains.v1beta1", + "version": "v1beta1" + } + ] + }, + "snippets": [ + { + "regionTag": "domains_v1beta1_generated_Domains_SearchDomains_async", + "title": "Domains searchDomains Sample", + "origin": "API_DEFINITION", + "description": " Searches for available domain names similar to the provided query. Availability results from this method are approximate; call `RetrieveRegisterParameters` on a domain before registering to confirm availability.", + "canonical": true, + "file": "domains.search_domains.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1beta1.Domains.SearchDomains", + "async": true, + "parameters": [ + { + "name": "query", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.SearchDomainsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "SearchDomains", + "fullName": "google.cloud.domains.v1beta1.Domains.SearchDomains", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_RetrieveRegisterParameters_async", + "title": "Domains retrieveRegisterParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to register a new domain name, including price and up-to-date availability. Use the returned values to call `RegisterDomain`.", + "canonical": true, + "file": "domains.retrieve_register_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveRegisterParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "RetrieveRegisterParameters", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveRegisterParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_RegisterDomain_async", + "title": "Domains registerDomain Sample", + "origin": "API_DEFINITION", + "description": " Registers a new domain name and creates a corresponding `Registration` resource. Call `RetrieveRegisterParameters` first to check availability of the domain name and determine parameters like price that are needed to build a call to this method. A successful call creates a `Registration` resource in state `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 minutes, indicating that the domain was successfully registered. If the resource ends up in state `REGISTRATION_FAILED`, it indicates that the domain was not registered successfully, and you can safely delete the resource and retry registration.", + "canonical": true, + "file": "domains.register_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 84, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1beta1.Domains.RegisterDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1beta1.Registration" + }, + { + "name": "domain_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "RegisterDomain", + "fullName": "google.cloud.domains.v1beta1.Domains.RegisterDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_RetrieveTransferParameters_async", + "title": "Domains retrieveTransferParameters Sample", + "origin": "API_DEFINITION", + "description": " Gets parameters needed to transfer a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Use the returned values to call `TransferDomain`.", + "canonical": true, + "file": "domains.retrieve_transfer_parameters.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 58, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveTransferParameters", + "async": true, + "parameters": [ + { + "name": "domain_name", + "type": "TYPE_STRING" + }, + { + "name": "location", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.RetrieveTransferParametersResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "RetrieveTransferParameters", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveTransferParameters", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_TransferDomain_async", + "title": "Domains transferDomain Sample", + "origin": "API_DEFINITION", + "description": " Transfers a domain name from another registrar to Cloud Domains. For domains managed by Google Domains, transferring to Cloud Domains is not supported. Before calling this method, go to the domain's current registrar to unlock the domain for transfer and retrieve the domain's transfer authorization code. Then call `RetrieveTransferParameters` to confirm that the domain is unlocked and to get values needed to build a call to this method. A successful call creates a `Registration` resource in state `TRANSFER_PENDING`. It can take several days to complete the transfer process. The registrant can often speed up this process by approving the transfer through the current registrar, either by clicking a link in an email from the registrar or by visiting the registrar's website. A few minutes after transfer approval, the resource transitions to state `ACTIVE`, indicating that the transfer was successful. If the transfer is rejected or the request expires without being approved, the resource can end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete the resource and retry the transfer.", + "canonical": true, + "file": "domains.transfer_domain.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 87, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1beta1.Domains.TransferDomain", + "async": true, + "parameters": [ + { + "name": "parent", + "type": "TYPE_STRING" + }, + { + "name": "registration", + "type": ".google.cloud.domains.v1beta1.Registration" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "yearly_price", + "type": ".google.type.Money" + }, + { + "name": "authorization_code", + "type": ".google.cloud.domains.v1beta1.AuthorizationCode" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "TransferDomain", + "fullName": "google.cloud.domains.v1beta1.Domains.TransferDomain", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ListRegistrations_async", + "title": "Domains listRegistrations Sample", + "origin": "API_DEFINITION", + "description": " Lists the `Registration` resources in a project.", + "canonical": true, + "file": "domains.list_registrations.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 81, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1beta1.Domains.ListRegistrations", + "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.cloud.domains.v1beta1.ListRegistrationsResponse", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ListRegistrations", + "fullName": "google.cloud.domains.v1beta1.Domains.ListRegistrations", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_GetRegistration_async", + "title": "Domains getRegistration Sample", + "origin": "API_DEFINITION", + "description": " Gets the details of a `Registration` resource.", + "canonical": true, + "file": "domains.get_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.GetRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.Registration", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "GetRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.GetRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_UpdateRegistration_async", + "title": "Domains updateRegistration Sample", + "origin": "API_DEFINITION", + "description": " Updates select fields of a `Registration` resource, notably `labels`. To update other fields, use the appropriate custom update method: * To update management settings, see `ConfigureManagementSettings` * To update DNS configuration, see `ConfigureDnsSettings` * To update contact information, see `ConfigureContactSettings`", + "canonical": true, + "file": "domains.update_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 60, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.UpdateRegistration", + "async": true, + "parameters": [ + { + "name": "registration", + "type": ".google.cloud.domains.v1beta1.Registration" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "UpdateRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.UpdateRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ConfigureManagementSettings_async", + "title": "Domains configureManagementSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s management settings.", + "canonical": true, + "file": "domains.configure_management_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 66, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureManagementSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "management_settings", + "type": ".google.cloud.domains.v1beta1.ManagementSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ConfigureManagementSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureManagementSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ConfigureDnsSettings_async", + "title": "Domains configureDnsSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s DNS settings.", + "canonical": true, + "file": "domains.configure_dns_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureDnsSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "dns_settings", + "type": ".google.cloud.domains.v1beta1.DnsSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ConfigureDnsSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureDnsSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ConfigureContactSettings_async", + "title": "Domains configureContactSettings Sample", + "origin": "API_DEFINITION", + "description": " Updates a `Registration`'s contact settings. Some changes require confirmation by the domain's registrant contact .", + "canonical": true, + "file": "domains.configure_contact_settings.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 75, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureContactSettings", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + }, + { + "name": "contact_settings", + "type": ".google.cloud.domains.v1beta1.ContactSettings" + }, + { + "name": "update_mask", + "type": ".google.protobuf.FieldMask" + }, + { + "name": "contact_notices", + "type": "TYPE_ENUM[]" + }, + { + "name": "validate_only", + "type": "TYPE_BOOL" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ConfigureContactSettings", + "fullName": "google.cloud.domains.v1beta1.Domains.ConfigureContactSettings", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ExportRegistration_async", + "title": "Domains exportRegistration Sample", + "origin": "API_DEFINITION", + "description": " Exports a `Registration` resource, such that it is no longer managed by Cloud Domains. When an active domain is successfully exported, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.export_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.ExportRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ExportRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.ExportRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_DeleteRegistration_async", + "title": "Domains deleteRegistration Sample", + "origin": "API_DEFINITION", + "description": " Deletes a `Registration` resource. This method works on any `Registration` resource using [Subscription or Commitment billing](/domains/pricing#billing-models), provided that the resource was created at least 1 day in the past. For `Registration` resources using [Monthly billing](/domains/pricing#billing-models), this method works if: * `state` is `EXPORTED` with `expire_time` in the past * `state` is `REGISTRATION_FAILED` * `state` is `TRANSFER_FAILED` When an active registration is successfully deleted, you can continue to use the domain in [Google Domains](https://domains.google/) until it expires. The calling user becomes the domain's sole owner in Google Domains, and permissions for the domain are subsequently managed there. The domain does not renew automatically unless the new owner sets up billing in Google Domains.", + "canonical": true, + "file": "domains.delete_registration.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 55, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.DeleteRegistration", + "async": true, + "parameters": [ + { + "name": "name", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.longrunning.Operation", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "DeleteRegistration", + "fullName": "google.cloud.domains.v1beta1.Domains.DeleteRegistration", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_RetrieveAuthorizationCode_async", + "title": "Domains retrieveAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Gets the authorization code of the `Registration` for the purpose of transferring the domain to another registrar. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.retrieve_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "RetrieveAuthorizationCode", + "fullName": "google.cloud.domains.v1beta1.Domains.RetrieveAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + }, + { + "regionTag": "domains_v1beta1_generated_Domains_ResetAuthorizationCode_async", + "title": "Domains resetAuthorizationCode Sample", + "origin": "API_DEFINITION", + "description": " Resets the authorization code of the `Registration` to a new random string. You can call this method only after 60 days have elapsed since the initial domain registration.", + "canonical": true, + "file": "domains.reset_authorization_code.js", + "language": "JAVASCRIPT", + "segments": [ + { + "start": 25, + "end": 54, + "type": "FULL" + } + ], + "clientMethod": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1beta1.Domains.ResetAuthorizationCode", + "async": true, + "parameters": [ + { + "name": "registration", + "type": "TYPE_STRING" + } + ], + "resultType": ".google.cloud.domains.v1beta1.AuthorizationCode", + "client": { + "shortName": "DomainsClient", + "fullName": "google.cloud.domains.v1beta1.DomainsClient" + }, + "method": { + "shortName": "ResetAuthorizationCode", + "fullName": "google.cloud.domains.v1beta1.Domains.ResetAuthorizationCode", + "service": { + "shortName": "Domains", + "fullName": "google.cloud.domains.v1beta1.Domains" + } + } + } + } + ] +} \ No newline at end of file diff --git a/packages/google-cloud-domains/samples/package.json b/packages/google-cloud-domains/samples/package.json new file mode 100644 index 00000000000..ee924eec4cf --- /dev/null +++ b/packages/google-cloud-domains/samples/package.json @@ -0,0 +1,23 @@ +{ + "name": "nodejs-domains", + "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/domains": "^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-cloud-domains/samples/quickstart.js b/packages/google-cloud-domains/samples/quickstart.js new file mode 100644 index 00000000000..68bd042e140 --- /dev/null +++ b/packages/google-cloud-domains/samples/quickstart.js @@ -0,0 +1,47 @@ +// 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(projectId, location) { + // [START nodejs_domains_quickstart] + // Imports the Google Cloud client library + + const {DomainsClient} = require('@google-cloud/domains'); + + // TODO(developer): replace with your preferred values. + // const projectId = 'my-project' + // const location = 'my-location' + + // Creates a client + const client = new DomainsClient(); + + //TODO(library generator): write the actual function you will be testing + async function listRegistrations() { + const [registrations] = await client.listRegistrations({ + parent: `projects/${projectId}/locations/${location}`, + }); + console.info(registrations); + } + listRegistrations(); + // [END nodejs_domains_quickstart] +} + +main(...process.argv.slice(2)).catch(err => { + console.error(err.message); + process.exitCode = 1; +}); +process.on('unhandledRejection', err => { + console.error(err.message); + process.exitCode = 1; +}); diff --git a/packages/google-cloud-domains/samples/test/quickstart.js b/packages/google-cloud-domains/samples/test/quickstart.js new file mode 100644 index 00000000000..cbe7db6696e --- /dev/null +++ b/packages/google-cloud-domains/samples/test/quickstart.js @@ -0,0 +1,43 @@ +// +// 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 {DomainsClient} = require('@google-cloud/domains'); +const {assert} = require('chai'); + +const execSync = cmd => cp.execSync(cmd, {encoding: 'utf-8'}); + +const cwd = path.join(__dirname, '..'); + +const client = new DomainsClient(); + +describe('Quickstart', () => { + let projectId; + + before(async () => { + projectId = await client.getProjectId(); + }); + + it('should run quickstart', async () => { + const stdout = execSync(`node ./quickstart.js ${projectId} global`, {cwd}); + assert.match(stdout, /\[\]/); + }); +}); diff --git a/packages/google-cloud-domains/src/index.ts b/packages/google-cloud-domains/src/index.ts new file mode 100644 index 00000000000..a368889a220 --- /dev/null +++ b/packages/google-cloud-domains/src/index.ts @@ -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 +// +// 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 v1alpha2 from './v1alpha2'; +import * as v1beta1 from './v1beta1'; + +const DomainsClient = v1.DomainsClient; +type DomainsClient = v1.DomainsClient; + +export {v1, v1alpha2, v1beta1, DomainsClient}; +export default {v1, v1alpha2, v1beta1, DomainsClient}; +import * as protos from '../protos/protos'; +export {protos}; diff --git a/packages/google-cloud-domains/src/v1/domains_client.ts b/packages/google-cloud-domains/src/v1/domains_client.ts new file mode 100644 index 00000000000..1f10dc47889 --- /dev/null +++ b/packages/google-cloud-domains/src/v1/domains_client.ts @@ -0,0 +1,2702 @@ +// 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/domains_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './domains_client_config.json'; +const version = require('../../../package.json').version; + +/** + * The Cloud Domains API enables management and configuration of domain names. + * @class + * @memberof v1 + */ +export class DomainsClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + operationsClient: gax.OperationsClient; + domainsStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DomainsClient. + * + * @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 DomainsClient({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 DomainsClient; + 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); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + registrationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/registrations/{registration}' + ), + }; + + // 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 = { + listRegistrations: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'registrations' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1/{name=projects/*}/locations', + }, + { + selector: 'google.iam.v1.IAMPolicy.GetIamPolicy', + get: '/v1/{resource=projects/*/locations/*/registrations/*}:getIamPolicy', + }, + { + selector: 'google.iam.v1.IAMPolicy.SetIamPolicy', + post: '/v1/{resource=projects/*/locations/*/registrations/*}:setIamPolicy', + body: '*', + }, + { + selector: 'google.iam.v1.IAMPolicy.TestIamPermissions', + post: '/v1/{resource=projects/*/locations/*/registrations/*}:testIamPermissions', + body: '*', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1/{name=projects/*/locations/*}/operations', + }, + ]; + } + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); + const registerDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const registerDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const transferDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const transferDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const updateRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const updateRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const configureManagementSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const configureManagementSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const configureDnsSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const configureDnsSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const configureContactSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const configureContactSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const exportRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1.Registration' + ) as gax.protobuf.Type; + const exportRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteRegistrationResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const deleteRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + registerDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + registerDomainResponse.decode.bind(registerDomainResponse), + registerDomainMetadata.decode.bind(registerDomainMetadata) + ), + transferDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + transferDomainResponse.decode.bind(transferDomainResponse), + transferDomainMetadata.decode.bind(transferDomainMetadata) + ), + updateRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateRegistrationResponse.decode.bind(updateRegistrationResponse), + updateRegistrationMetadata.decode.bind(updateRegistrationMetadata) + ), + configureManagementSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureManagementSettingsResponse.decode.bind( + configureManagementSettingsResponse + ), + configureManagementSettingsMetadata.decode.bind( + configureManagementSettingsMetadata + ) + ), + configureDnsSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureDnsSettingsResponse.decode.bind(configureDnsSettingsResponse), + configureDnsSettingsMetadata.decode.bind(configureDnsSettingsMetadata) + ), + configureContactSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureContactSettingsResponse.decode.bind( + configureContactSettingsResponse + ), + configureContactSettingsMetadata.decode.bind( + configureContactSettingsMetadata + ) + ), + exportRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + exportRegistrationResponse.decode.bind(exportRegistrationResponse), + exportRegistrationMetadata.decode.bind(exportRegistrationMetadata) + ), + deleteRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteRegistrationResponse.decode.bind(deleteRegistrationResponse), + deleteRegistrationMetadata.decode.bind(deleteRegistrationMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.domains.v1.Domains', + 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.domainsStub) { + return this.domainsStub; + } + + // Put together the "service stub" for + // google.cloud.domains.v1.Domains. + this.domainsStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.domains.v1.Domains' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.domains.v1.Domains, + 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 domainsStubMethods = [ + 'searchDomains', + 'retrieveRegisterParameters', + 'registerDomain', + 'retrieveTransferParameters', + 'transferDomain', + 'listRegistrations', + 'getRegistration', + 'updateRegistration', + 'configureManagementSettings', + 'configureDnsSettings', + 'configureContactSettings', + 'exportRegistration', + 'deleteRegistration', + 'retrieveAuthorizationCode', + 'resetAuthorizationCode', + ]; + for (const methodName of domainsStubMethods) { + const callPromise = this.domainsStub.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.domainsStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'domains.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 'domains.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return ['https://www.googleapis.com/auth/cloud-platform']; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Searches for available domain names similar to the provided query. + * + * Availability results from this method are approximate; call + * `RetrieveRegisterParameters` on a domain before registering to confirm + * availability. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.query + * Required. String used to search for available domain names. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [SearchDomainsResponse]{@link google.cloud.domains.v1.SearchDomainsResponse}. + * 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/domains.search_domains.js + * region_tag:domains_v1_generated_Domains_SearchDomains_async + */ + searchDomains( + request?: protos.google.cloud.domains.v1.ISearchDomainsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.ISearchDomainsResponse, + protos.google.cloud.domains.v1.ISearchDomainsRequest | undefined, + {} | undefined + ] + >; + searchDomains( + request: protos.google.cloud.domains.v1.ISearchDomainsRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.ISearchDomainsResponse, + protos.google.cloud.domains.v1.ISearchDomainsRequest | null | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request: protos.google.cloud.domains.v1.ISearchDomainsRequest, + callback: Callback< + protos.google.cloud.domains.v1.ISearchDomainsResponse, + protos.google.cloud.domains.v1.ISearchDomainsRequest | null | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request?: protos.google.cloud.domains.v1.ISearchDomainsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.ISearchDomainsResponse, + | protos.google.cloud.domains.v1.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.ISearchDomainsResponse, + protos.google.cloud.domains.v1.ISearchDomainsRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.ISearchDomainsResponse, + protos.google.cloud.domains.v1.ISearchDomainsRequest | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.searchDomains(request, options, callback); + } + /** + * Gets parameters needed to register a new domain name, including price and + * up-to-date availability. Use the returned values to call `RegisterDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveRegisterParametersResponse]{@link google.cloud.domains.v1.RetrieveRegisterParametersResponse}. + * 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/domains.retrieve_register_parameters.js + * region_tag:domains_v1_generated_Domains_RetrieveRegisterParameters_async + */ + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1.IRetrieveRegisterParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveRegisterParameters( + request, + options, + callback + ); + } + /** + * Gets parameters needed to transfer a domain name from another registrar to + * Cloud Domains. For domains managed by Google Domains, transferring to Cloud + * Domains is not supported. + * + * + * Use the returned values to call `TransferDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveTransferParametersResponse]{@link google.cloud.domains.v1.RetrieveTransferParametersResponse}. + * 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/domains.retrieve_transfer_parameters.js + * region_tag:domains_v1_generated_Domains_RetrieveTransferParameters_async + */ + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1.IRetrieveTransferParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveTransferParameters( + request, + options, + callback + ); + } + /** + * Gets the details of a `Registration` resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + * @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 [Registration]{@link google.cloud.domains.v1.Registration}. + * 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/domains.get_registration.js + * region_tag:domains_v1_generated_Domains_GetRegistration_async + */ + getRegistration( + request?: protos.google.cloud.domains.v1.IGetRegistrationRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IGetRegistrationRequest | undefined, + {} | undefined + ] + >; + getRegistration( + request: protos.google.cloud.domains.v1.IGetRegistrationRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IGetRegistrationRequest | null | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request: protos.google.cloud.domains.v1.IGetRegistrationRequest, + callback: Callback< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IGetRegistrationRequest | null | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request?: protos.google.cloud.domains.v1.IGetRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.IRegistration, + | protos.google.cloud.domains.v1.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IGetRegistrationRequest | null | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IGetRegistrationRequest | 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.getRegistration(request, options, callback); + } + /** + * Gets the authorization code of the `Registration` for the purpose of + * transferring the domain to another registrar. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1.AuthorizationCode}. + * 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/domains.retrieve_authorization_code.js + * region_tag:domains_v1_generated_Domains_RetrieveAuthorizationCode_async + */ + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | undefined + ), + {} | undefined + ] + >; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1.IRetrieveAuthorizationCodeRequest + | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveAuthorizationCode( + request, + options, + callback + ); + } + /** + * Resets the authorization code of the `Registration` to a new random string. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1.AuthorizationCode}. + * 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/domains.reset_authorization_code.js + * region_tag:domains_v1_generated_Domains_ResetAuthorizationCode_async + */ + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IAuthorizationCode, + protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest | undefined, + {} | undefined + ] + >; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1.IAuthorizationCode, + | protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1.IAuthorizationCode, + protos.google.cloud.domains.v1.IResetAuthorizationCodeRequest | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.resetAuthorizationCode( + request, + options, + callback + ); + } + + /** + * Registers a new domain name and creates a corresponding `Registration` + * resource. + * + * Call `RetrieveRegisterParameters` first to check availability of the domain + * name and determine parameters like price that are needed to build a call to + * this method. + * + * A successful call creates a `Registration` resource in state + * `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + * minutes, indicating that the domain was successfully registered. If the + * resource ends up in state `REGISTRATION_FAILED`, it indicates that the + * domain was not registered successfully, and you can safely delete the + * resource and retry registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * @param {number[]} request.domainNotices + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + * @param {boolean} request.validateOnly + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + * @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/domains.register_domain.js + * region_tag:domains_v1_generated_Domains_RegisterDomain_async + */ + registerDomain( + request?: protos.google.cloud.domains.v1.IRegisterDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + registerDomain( + request: protos.google.cloud.domains.v1.IRegisterDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request: protos.google.cloud.domains.v1.IRegisterDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request?: protos.google.cloud.domains.v1.IRegisterDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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.registerDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `registerDomain()`. + * @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/domains.register_domain.js + * region_tag:domains_v1_generated_Domains_RegisterDomain_async + */ + async checkRegisterDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.registerDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Transfers a domain name from another registrar to Cloud Domains. For + * domains managed by Google Domains, transferring to Cloud Domains is not + * supported. + * + * + * Before calling this method, go to the domain's current registrar to unlock + * the domain for transfer and retrieve the domain's transfer authorization + * code. Then call `RetrieveTransferParameters` to confirm that the domain is + * unlocked and to get values needed to build a call to this method. + * + * A successful call creates a `Registration` resource in state + * `TRANSFER_PENDING`. It can take several days to complete the transfer + * process. The registrant can often speed up this process by approving the + * transfer through the current registrar, either by clicking a link in an + * email from the registrar or by visiting the registrar's website. + * + * A few minutes after transfer approval, the resource transitions to state + * `ACTIVE`, indicating that the transfer was successful. If the transfer is + * rejected or the request expires without being approved, the resource can + * end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + * the resource and retry the transfer. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + * @param {number[]} request.contactNotices + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + * @param {google.cloud.domains.v1.AuthorizationCode} request.authorizationCode + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + * @param {boolean} request.validateOnly + * Validate the request without actually transferring the domain. + * @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/domains.transfer_domain.js + * region_tag:domains_v1_generated_Domains_TransferDomain_async + */ + transferDomain( + request?: protos.google.cloud.domains.v1.ITransferDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + transferDomain( + request: protos.google.cloud.domains.v1.ITransferDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request: protos.google.cloud.domains.v1.ITransferDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request?: protos.google.cloud.domains.v1.ITransferDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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.transferDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `transferDomain()`. + * @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/domains.transfer_domain.js + * region_tag:domains_v1_generated_Domains_TransferDomain_async + */ + async checkTransferDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.transferDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Updates select fields of a `Registration` resource, notably `labels`. To + * update other fields, use the appropriate custom update method: + * + * * To update management settings, see `ConfigureManagementSettings` + * * To update DNS configuration, see `ConfigureDnsSettings` + * * To update contact information, see `ConfigureContactSettings` + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.domains.v1.Registration} request.registration + * Fields of the `Registration` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + * @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/domains.update_registration.js + * region_tag:domains_v1_generated_Domains_UpdateRegistration_async + */ + updateRegistration( + request?: protos.google.cloud.domains.v1.IUpdateRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateRegistration( + request: protos.google.cloud.domains.v1.IUpdateRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request: protos.google.cloud.domains.v1.IUpdateRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request?: protos.google.cloud.domains.v1.IUpdateRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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({ + 'registration.name': request.registration!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `updateRegistration()`. + * @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/domains.update_registration.js + * region_tag:domains_v1_generated_Domains_UpdateRegistration_async + */ + async checkUpdateRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.updateRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s management settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1.ManagementSettings} request.managementSettings + * Fields of the `ManagementSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + * @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/domains.configure_management_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureManagementSettings_async + */ + configureManagementSettings( + request?: protos.google.cloud.domains.v1.IConfigureManagementSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureManagementSettings( + request: protos.google.cloud.domains.v1.IConfigureManagementSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request: protos.google.cloud.domains.v1.IConfigureManagementSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request?: protos.google.cloud.domains.v1.IConfigureManagementSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureManagementSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureManagementSettings()`. + * @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/domains.configure_management_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureManagementSettings_async + */ + async checkConfigureManagementSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.configureManagementSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s DNS settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1.DnsSettings} request.dnsSettings + * Fields of the `DnsSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + * @param {boolean} request.validateOnly + * Validate the request without actually updating the DNS settings. + * @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/domains.configure_dns_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureDnsSettings_async + */ + configureDnsSettings( + request?: protos.google.cloud.domains.v1.IConfigureDnsSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureDnsSettings( + request: protos.google.cloud.domains.v1.IConfigureDnsSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request: protos.google.cloud.domains.v1.IConfigureDnsSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request?: protos.google.cloud.domains.v1.IConfigureDnsSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureDnsSettings(request, options, callback); + } + /** + * Check the status of the long running operation returned by `configureDnsSettings()`. + * @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/domains.configure_dns_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureDnsSettings_async + */ + async checkConfigureDnsSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.configureDnsSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s contact settings. Some changes require + * confirmation by the domain's registrant contact . + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1.ContactSettings} request.contactSettings + * Fields of the `ContactSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + * @param {boolean} request.validateOnly + * Validate the request without actually updating the contact settings. + * @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/domains.configure_contact_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureContactSettings_async + */ + configureContactSettings( + request?: protos.google.cloud.domains.v1.IConfigureContactSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureContactSettings( + request: protos.google.cloud.domains.v1.IConfigureContactSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request: protos.google.cloud.domains.v1.IConfigureContactSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request?: protos.google.cloud.domains.v1.IConfigureContactSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureContactSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureContactSettings()`. + * @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/domains.configure_contact_settings.js + * region_tag:domains_v1_generated_Domains_ConfigureContactSettings_async + */ + async checkConfigureContactSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.configureContactSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Exports a `Registration` resource, such that it is no longer managed by + * Cloud Domains. + * + * When an active domain is successfully exported, you can continue to use the + * domain in [Google Domains](https://domains.google/) until it expires. The + * calling user becomes the domain's sole owner in Google Domains, and + * permissions for the domain are subsequently managed there. The domain does + * not renew automatically unless the new owner sets up billing in Google + * Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + * @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/domains.export_registration.js + * region_tag:domains_v1_generated_Domains_ExportRegistration_async + */ + exportRegistration( + request?: protos.google.cloud.domains.v1.IExportRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + exportRegistration( + request: protos.google.cloud.domains.v1.IExportRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request: protos.google.cloud.domains.v1.IExportRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request?: protos.google.cloud.domains.v1.IExportRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.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.exportRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `exportRegistration()`. + * @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/domains.export_registration.js + * region_tag:domains_v1_generated_Domains_ExportRegistration_async + */ + async checkExportRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.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.exportRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1.Registration, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Deletes a `Registration` resource. + * + * This method works on any `Registration` resource using [Subscription or + * Commitment billing](/domains/pricing#billing-models), provided that the + * resource was created at least 1 day in the past. + * + * For `Registration` resources using + * [Monthly billing](/domains/pricing#billing-models), this method works if: + * + * * `state` is `EXPORTED` with `expire_time` in the past + * * `state` is `REGISTRATION_FAILED` + * * `state` is `TRANSFER_FAILED` + * + * When an active registration is successfully deleted, you can continue to + * use the domain in [Google Domains](https://domains.google/) until it + * expires. The calling user becomes the domain's sole owner in Google + * Domains, and permissions for the domain are subsequently managed there. The + * domain does not renew automatically unless the new owner sets up billing in + * Google Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + * @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/domains.delete_registration.js + * region_tag:domains_v1_generated_Domains_DeleteRegistration_async + */ + deleteRegistration( + request?: protos.google.cloud.domains.v1.IDeleteRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteRegistration( + request: protos.google.cloud.domains.v1.IDeleteRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request: protos.google.cloud.domains.v1.IDeleteRegistrationRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request?: protos.google.cloud.domains.v1.IDeleteRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.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.deleteRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteRegistration()`. + * @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/domains.delete_registration.js + * region_tag:domains_v1_generated_Domains_DeleteRegistration_async + */ + async checkDeleteRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.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.deleteRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.v1.OperationMetadata + >; + } + /** + * Lists the `Registration` resources in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1.Registration}. + * 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrations( + request?: protos.google.cloud.domains.v1.IListRegistrationsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1.IRegistration[], + protos.google.cloud.domains.v1.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1.IListRegistrationsResponse + ] + >; + listRegistrations( + request: protos.google.cloud.domains.v1.IListRegistrationsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.domains.v1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1.IRegistration + > + ): void; + listRegistrations( + request: protos.google.cloud.domains.v1.IListRegistrationsRequest, + callback: PaginationCallback< + protos.google.cloud.domains.v1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1.IRegistration + > + ): void; + listRegistrations( + request?: protos.google.cloud.domains.v1.IListRegistrationsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.domains.v1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1.IRegistration + >, + callback?: PaginationCallback< + protos.google.cloud.domains.v1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1.IRegistration + > + ): Promise< + [ + protos.google.cloud.domains.v1.IRegistration[], + protos.google.cloud.domains.v1.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1.IListRegistrationsResponse + ] + > | 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.listRegistrations(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1.Registration} 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrationsStream( + request?: protos.google.cloud.domains.v1.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.createStream( + this.innerApiCalls.listRegistrations as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listRegistrations`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 + * [Registration]{@link google.cloud.domains.v1.Registration}. 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/domains.list_registrations.js + * region_tag:domains_v1_generated_Domains_ListRegistrations_async + */ + listRegistrationsAsync( + request?: protos.google.cloud.domains.v1.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.asyncIterate( + this.innerApiCalls['listRegistrations'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified registration resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} registration + * @returns {string} Resource name string. + */ + registrationPath(project: string, location: string, registration: string) { + return this.pathTemplates.registrationPathTemplate.render({ + project: project, + location: location, + registration: registration, + }); + } + + /** + * Parse the project from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the project. + */ + matchProjectFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .project; + } + + /** + * Parse the location from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the location. + */ + matchLocationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .location; + } + + /** + * Parse the registration from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the registration. + */ + matchRegistrationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .registration; + } + + /** + * 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.domainsStub && !this._terminated) { + return this.domainsStub.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-domains/src/v1/domains_client_config.json b/packages/google-cloud-domains/src/v1/domains_client_config.json new file mode 100644 index 00000000000..e6c89d92e1a --- /dev/null +++ b/packages/google-cloud-domains/src/v1/domains_client_config.json @@ -0,0 +1,86 @@ +{ + "interfaces": { + "google.cloud.domains.v1.Domains": { + "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": { + "SearchDomains": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveRegisterParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RegisterDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveTransferParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "TransferDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListRegistrations": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureManagementSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureDnsSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureContactSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ExportRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ResetAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1/domains_proto_list.json b/packages/google-cloud-domains/src/v1/domains_proto_list.json new file mode 100644 index 00000000000..c2e7d41ee71 --- /dev/null +++ b/packages/google-cloud-domains/src/v1/domains_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/domains/v1/domains.proto" +] diff --git a/packages/google-cloud-domains/src/v1/gapic_metadata.json b/packages/google-cloud-domains/src/v1/gapic_metadata.json new file mode 100644 index 00000000000..1e159ef940d --- /dev/null +++ b/packages/google-cloud-domains/src/v1/gapic_metadata.json @@ -0,0 +1,177 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.domains.v1", + "libraryPackage": "@google-cloud/domains", + "services": { + "Domains": { + "clients": { + "grpc": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1/index.ts b/packages/google-cloud-domains/src/v1/index.ts new file mode 100644 index 00000000000..fba03f08d34 --- /dev/null +++ b/packages/google-cloud-domains/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 {DomainsClient} from './domains_client'; diff --git a/packages/google-cloud-domains/src/v1alpha2/domains_client.ts b/packages/google-cloud-domains/src/v1alpha2/domains_client.ts new file mode 100644 index 00000000000..fd406717fc2 --- /dev/null +++ b/packages/google-cloud-domains/src/v1alpha2/domains_client.ts @@ -0,0 +1,2720 @@ +// 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/v1alpha2/domains_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './domains_client_config.json'; +const version = require('../../../package.json').version; + +/** + * The Cloud Domains API enables management and configuration of domain names. + * @class + * @memberof v1alpha2 + */ +export class DomainsClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + operationsClient: gax.OperationsClient; + domainsStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DomainsClient. + * + * @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 DomainsClient({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 DomainsClient; + 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); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + registrationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/registrations/{registration}' + ), + }; + + // 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 = { + listRegistrations: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'registrations' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1alpha2/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1alpha2/{name=projects/*}/locations', + }, + { + selector: 'google.iam.v1.IAMPolicy.GetIamPolicy', + get: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:getIamPolicy', + }, + { + selector: 'google.iam.v1.IAMPolicy.SetIamPolicy', + post: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:setIamPolicy', + body: '*', + }, + { + selector: 'google.iam.v1.IAMPolicy.TestIamPermissions', + post: '/v1alpha2/{resource=projects/*/locations/*/registrations/*}:testIamPermissions', + body: '*', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1alpha2/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1alpha2/{name=projects/*/locations/*}/operations', + }, + ]; + } + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); + const registerDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const registerDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const transferDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const transferDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const updateRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const updateRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const configureManagementSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const configureManagementSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const configureDnsSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const configureDnsSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const configureContactSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const configureContactSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const exportRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.Registration' + ) as gax.protobuf.Type; + const exportRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + const deleteRegistrationResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const deleteRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1alpha2.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + registerDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + registerDomainResponse.decode.bind(registerDomainResponse), + registerDomainMetadata.decode.bind(registerDomainMetadata) + ), + transferDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + transferDomainResponse.decode.bind(transferDomainResponse), + transferDomainMetadata.decode.bind(transferDomainMetadata) + ), + updateRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateRegistrationResponse.decode.bind(updateRegistrationResponse), + updateRegistrationMetadata.decode.bind(updateRegistrationMetadata) + ), + configureManagementSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureManagementSettingsResponse.decode.bind( + configureManagementSettingsResponse + ), + configureManagementSettingsMetadata.decode.bind( + configureManagementSettingsMetadata + ) + ), + configureDnsSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureDnsSettingsResponse.decode.bind(configureDnsSettingsResponse), + configureDnsSettingsMetadata.decode.bind(configureDnsSettingsMetadata) + ), + configureContactSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureContactSettingsResponse.decode.bind( + configureContactSettingsResponse + ), + configureContactSettingsMetadata.decode.bind( + configureContactSettingsMetadata + ) + ), + exportRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + exportRegistrationResponse.decode.bind(exportRegistrationResponse), + exportRegistrationMetadata.decode.bind(exportRegistrationMetadata) + ), + deleteRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteRegistrationResponse.decode.bind(deleteRegistrationResponse), + deleteRegistrationMetadata.decode.bind(deleteRegistrationMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.domains.v1alpha2.Domains', + 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.domainsStub) { + return this.domainsStub; + } + + // Put together the "service stub" for + // google.cloud.domains.v1alpha2.Domains. + this.domainsStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.domains.v1alpha2.Domains' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.domains.v1alpha2.Domains, + 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 domainsStubMethods = [ + 'searchDomains', + 'retrieveRegisterParameters', + 'registerDomain', + 'retrieveTransferParameters', + 'transferDomain', + 'listRegistrations', + 'getRegistration', + 'updateRegistration', + 'configureManagementSettings', + 'configureDnsSettings', + 'configureContactSettings', + 'exportRegistration', + 'deleteRegistration', + 'retrieveAuthorizationCode', + 'resetAuthorizationCode', + ]; + for (const methodName of domainsStubMethods) { + const callPromise = this.domainsStub.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.domainsStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'domains.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 'domains.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return ['https://www.googleapis.com/auth/cloud-platform']; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Searches for available domain names similar to the provided query. + * + * Availability results from this method are approximate; call + * `RetrieveRegisterParameters` on a domain before registering to confirm + * availability. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.query + * Required. String used to search for available domain names. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [SearchDomainsResponse]{@link google.cloud.domains.v1alpha2.SearchDomainsResponse}. + * 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/v1alpha2/domains.search_domains.js + * region_tag:domains_v1alpha2_generated_Domains_SearchDomains_async + */ + searchDomains( + request?: protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest | undefined, + {} | undefined + ] + >; + searchDomains( + request: protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + | protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request: protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + | protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request?: protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + | protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + | protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse, + protos.google.cloud.domains.v1alpha2.ISearchDomainsRequest | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.searchDomains(request, options, callback); + } + /** + * Gets parameters needed to register a new domain name, including price and + * up-to-date availability. Use the returned values to call `RegisterDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveRegisterParametersResponse]{@link google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse}. + * 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/v1alpha2/domains.retrieve_register_parameters.js + * region_tag:domains_v1alpha2_generated_Domains_RetrieveRegisterParameters_async + */ + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveRegisterParameters( + request, + options, + callback + ); + } + /** + * Gets parameters needed to transfer a domain name from another registrar to + * Cloud Domains. For domains managed by Google Domains, transferring to Cloud + * Domains is not supported. + * + * + * Use the returned values to call `TransferDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveTransferParametersResponse]{@link google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse}. + * 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/v1alpha2/domains.retrieve_transfer_parameters.js + * region_tag:domains_v1alpha2_generated_Domains_RetrieveTransferParameters_async + */ + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveTransferParameters( + request, + options, + callback + ); + } + /** + * Gets the details of a `Registration` resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + * @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 [Registration]{@link google.cloud.domains.v1alpha2.Registration}. + * 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/v1alpha2/domains.get_registration.js + * region_tag:domains_v1alpha2_generated_Domains_GetRegistration_async + */ + getRegistration( + request?: protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest | undefined, + {} | undefined + ] + >; + getRegistration( + request: protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRegistration, + | protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request: protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IRegistration, + | protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request?: protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.IRegistration, + | protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.IRegistration, + | protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IGetRegistrationRequest | 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.getRegistration(request, options, callback); + } + /** + * Gets the authorization code of the `Registration` for the purpose of + * transferring the domain to another registrar. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1alpha2.AuthorizationCode}. + * 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/v1alpha2/domains.retrieve_authorization_code.js + * region_tag:domains_v1alpha2_generated_Domains_RetrieveAuthorizationCode_async + */ + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | undefined + ), + {} | undefined + ] + >; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1alpha2.IRetrieveAuthorizationCodeRequest + | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveAuthorizationCode( + request, + options, + callback + ); + } + /** + * Resets the authorization code of the `Registration` to a new random string. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1alpha2.AuthorizationCode}. + * 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/v1alpha2/domains.reset_authorization_code.js + * region_tag:domains_v1alpha2_generated_Domains_ResetAuthorizationCode_async + */ + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | undefined + ), + {} | undefined + ] + >; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1alpha2.IResetAuthorizationCodeRequest + | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.resetAuthorizationCode( + request, + options, + callback + ); + } + + /** + * Registers a new domain name and creates a corresponding `Registration` + * resource. + * + * Call `RetrieveRegisterParameters` first to check availability of the domain + * name and determine parameters like price that are needed to build a call to + * this method. + * + * A successful call creates a `Registration` resource in state + * `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + * minutes, indicating that the domain was successfully registered. If the + * resource ends up in state `REGISTRATION_FAILED`, it indicates that the + * domain was not registered successfully, and you can safely delete the + * resource and retry registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1alpha2.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * @param {number[]} request.domainNotices + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + * @param {boolean} request.validateOnly + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + * @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/v1alpha2/domains.register_domain.js + * region_tag:domains_v1alpha2_generated_Domains_RegisterDomain_async + */ + registerDomain( + request?: protos.google.cloud.domains.v1alpha2.IRegisterDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + registerDomain( + request: protos.google.cloud.domains.v1alpha2.IRegisterDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request: protos.google.cloud.domains.v1alpha2.IRegisterDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request?: protos.google.cloud.domains.v1alpha2.IRegisterDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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.registerDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `registerDomain()`. + * @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/v1alpha2/domains.register_domain.js + * region_tag:domains_v1alpha2_generated_Domains_RegisterDomain_async + */ + async checkRegisterDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.registerDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Transfers a domain name from another registrar to Cloud Domains. For + * domains managed by Google Domains, transferring to Cloud Domains is not + * supported. + * + * + * Before calling this method, go to the domain's current registrar to unlock + * the domain for transfer and retrieve the domain's transfer authorization + * code. Then call `RetrieveTransferParameters` to confirm that the domain is + * unlocked and to get values needed to build a call to this method. + * + * A successful call creates a `Registration` resource in state + * `TRANSFER_PENDING`. It can take several days to complete the transfer + * process. The registrant can often speed up this process by approving the + * transfer through the current registrar, either by clicking a link in an + * email from the registrar or by visiting the registrar's website. + * + * A few minutes after transfer approval, the resource transitions to state + * `ACTIVE`, indicating that the transfer was successful. If the transfer is + * rejected or the request expires without being approved, the resource can + * end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + * the resource and retry the transfer. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1alpha2.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + * @param {number[]} request.contactNotices + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + * @param {google.cloud.domains.v1alpha2.AuthorizationCode} request.authorizationCode + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + * @param {boolean} request.validateOnly + * Validate the request without actually transferring the domain. + * @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/v1alpha2/domains.transfer_domain.js + * region_tag:domains_v1alpha2_generated_Domains_TransferDomain_async + */ + transferDomain( + request?: protos.google.cloud.domains.v1alpha2.ITransferDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + transferDomain( + request: protos.google.cloud.domains.v1alpha2.ITransferDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request: protos.google.cloud.domains.v1alpha2.ITransferDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request?: protos.google.cloud.domains.v1alpha2.ITransferDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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.transferDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `transferDomain()`. + * @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/v1alpha2/domains.transfer_domain.js + * region_tag:domains_v1alpha2_generated_Domains_TransferDomain_async + */ + async checkTransferDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.transferDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Updates select fields of a `Registration` resource, notably `labels`. To + * update other fields, use the appropriate custom update method: + * + * * To update management settings, see `ConfigureManagementSettings` + * * To update DNS configuration, see `ConfigureDnsSettings` + * * To update contact information, see `ConfigureContactSettings` + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.domains.v1alpha2.Registration} request.registration + * Fields of the `Registration` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + * @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/v1alpha2/domains.update_registration.js + * region_tag:domains_v1alpha2_generated_Domains_UpdateRegistration_async + */ + updateRegistration( + request?: protos.google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateRegistration( + request: protos.google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request: protos.google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request?: protos.google.cloud.domains.v1alpha2.IUpdateRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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({ + 'registration.name': request.registration!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `updateRegistration()`. + * @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/v1alpha2/domains.update_registration.js + * region_tag:domains_v1alpha2_generated_Domains_UpdateRegistration_async + */ + async checkUpdateRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.updateRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Updates a `Registration`'s management settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1alpha2.ManagementSettings} request.managementSettings + * Fields of the `ManagementSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + * @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/v1alpha2/domains.configure_management_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureManagementSettings_async + */ + configureManagementSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureManagementSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureManagementSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureManagementSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureManagementSettings()`. + * @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/v1alpha2/domains.configure_management_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureManagementSettings_async + */ + async checkConfigureManagementSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.configureManagementSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Updates a `Registration`'s DNS settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1alpha2.DnsSettings} request.dnsSettings + * Fields of the `DnsSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + * @param {boolean} request.validateOnly + * Validate the request without actually updating the DNS settings. + * @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/v1alpha2/domains.configure_dns_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureDnsSettings_async + */ + configureDnsSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureDnsSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureDnsSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureDnsSettings(request, options, callback); + } + /** + * Check the status of the long running operation returned by `configureDnsSettings()`. + * @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/v1alpha2/domains.configure_dns_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureDnsSettings_async + */ + async checkConfigureDnsSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.configureDnsSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Updates a `Registration`'s contact settings. Some changes require + * confirmation by the domain's registrant contact . + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1alpha2.ContactSettings} request.contactSettings + * Fields of the `ContactSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + * @param {boolean} request.validateOnly + * Validate the request without actually updating the contact settings. + * @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/v1alpha2/domains.configure_contact_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureContactSettings_async + */ + configureContactSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureContactSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request: protos.google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request?: protos.google.cloud.domains.v1alpha2.IConfigureContactSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureContactSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureContactSettings()`. + * @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/v1alpha2/domains.configure_contact_settings.js + * region_tag:domains_v1alpha2_generated_Domains_ConfigureContactSettings_async + */ + async checkConfigureContactSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.configureContactSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Exports a `Registration` resource, such that it is no longer managed by + * Cloud Domains. + * + * When an active domain is successfully exported, you can continue to use the + * domain in [Google Domains](https://domains.google/) until it expires. The + * calling user becomes the domain's sole owner in Google Domains, and + * permissions for the domain are subsequently managed there. The domain does + * not renew automatically unless the new owner sets up billing in Google + * Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + * @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/v1alpha2/domains.export_registration.js + * region_tag:domains_v1alpha2_generated_Domains_ExportRegistration_async + */ + exportRegistration( + request?: protos.google.cloud.domains.v1alpha2.IExportRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + exportRegistration( + request: protos.google.cloud.domains.v1alpha2.IExportRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request: protos.google.cloud.domains.v1alpha2.IExportRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request?: protos.google.cloud.domains.v1alpha2.IExportRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.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.exportRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `exportRegistration()`. + * @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/v1alpha2/domains.export_registration.js + * region_tag:domains_v1alpha2_generated_Domains_ExportRegistration_async + */ + async checkExportRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.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.exportRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1alpha2.Registration, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Deletes a `Registration` resource. + * + * This method works on any `Registration` resource using [Subscription or + * Commitment billing](/domains/pricing#billing-models), provided that the + * resource was created at least 1 day in the past. + * + * For `Registration` resources using + * [Monthly billing](/domains/pricing#billing-models), this method works if: + * + * * `state` is `EXPORTED` with `expire_time` in the past + * * `state` is `REGISTRATION_FAILED` + * * `state` is `TRANSFER_FAILED` + * + * When an active registration is successfully deleted, you can continue to + * use the domain in [Google Domains](https://domains.google/) until it + * expires. The calling user becomes the domain's sole owner in Google + * Domains, and permissions for the domain are subsequently managed there. The + * domain does not renew automatically unless the new owner sets up billing in + * Google Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + * @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/v1alpha2/domains.delete_registration.js + * region_tag:domains_v1alpha2_generated_Domains_DeleteRegistration_async + */ + deleteRegistration( + request?: protos.google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteRegistration( + request: protos.google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request: protos.google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request?: protos.google.cloud.domains.v1alpha2.IDeleteRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.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.deleteRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteRegistration()`. + * @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/v1alpha2/domains.delete_registration.js + * region_tag:domains_v1alpha2_generated_Domains_DeleteRegistration_async + */ + async checkDeleteRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.v1alpha2.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.deleteRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.v1alpha2.OperationMetadata + >; + } + /** + * Lists the `Registration` resources in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1alpha2.Registration}. + * 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrations( + request?: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRegistration[], + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + ] + >; + listRegistrations( + request: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + | protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1alpha2.IRegistration + > + ): void; + listRegistrations( + request: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + callback: PaginationCallback< + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + | protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1alpha2.IRegistration + > + ): void; + listRegistrations( + request?: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + | protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1alpha2.IRegistration + >, + callback?: PaginationCallback< + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + | protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1alpha2.IRegistration + > + ): Promise< + [ + protos.google.cloud.domains.v1alpha2.IRegistration[], + protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1alpha2.IListRegistrationsResponse + ] + > | 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.listRegistrations(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1alpha2.Registration} 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrationsStream( + request?: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.createStream( + this.innerApiCalls.listRegistrations as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listRegistrations`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 + * [Registration]{@link google.cloud.domains.v1alpha2.Registration}. 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/v1alpha2/domains.list_registrations.js + * region_tag:domains_v1alpha2_generated_Domains_ListRegistrations_async + */ + listRegistrationsAsync( + request?: protos.google.cloud.domains.v1alpha2.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.asyncIterate( + this.innerApiCalls['listRegistrations'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified registration resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} registration + * @returns {string} Resource name string. + */ + registrationPath(project: string, location: string, registration: string) { + return this.pathTemplates.registrationPathTemplate.render({ + project: project, + location: location, + registration: registration, + }); + } + + /** + * Parse the project from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the project. + */ + matchProjectFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .project; + } + + /** + * Parse the location from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the location. + */ + matchLocationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .location; + } + + /** + * Parse the registration from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the registration. + */ + matchRegistrationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .registration; + } + + /** + * 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.domainsStub && !this._terminated) { + return this.domainsStub.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-domains/src/v1alpha2/domains_client_config.json b/packages/google-cloud-domains/src/v1alpha2/domains_client_config.json new file mode 100644 index 00000000000..c5a8f282424 --- /dev/null +++ b/packages/google-cloud-domains/src/v1alpha2/domains_client_config.json @@ -0,0 +1,86 @@ +{ + "interfaces": { + "google.cloud.domains.v1alpha2.Domains": { + "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": { + "SearchDomains": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveRegisterParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RegisterDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveTransferParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "TransferDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListRegistrations": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureManagementSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureDnsSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureContactSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ExportRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ResetAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1alpha2/domains_proto_list.json b/packages/google-cloud-domains/src/v1alpha2/domains_proto_list.json new file mode 100644 index 00000000000..2024156ba35 --- /dev/null +++ b/packages/google-cloud-domains/src/v1alpha2/domains_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/domains/v1alpha2/domains.proto" +] diff --git a/packages/google-cloud-domains/src/v1alpha2/gapic_metadata.json b/packages/google-cloud-domains/src/v1alpha2/gapic_metadata.json new file mode 100644 index 00000000000..e6369b205a2 --- /dev/null +++ b/packages/google-cloud-domains/src/v1alpha2/gapic_metadata.json @@ -0,0 +1,177 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.domains.v1alpha2", + "libraryPackage": "@google-cloud/domains", + "services": { + "Domains": { + "clients": { + "grpc": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1alpha2/index.ts b/packages/google-cloud-domains/src/v1alpha2/index.ts new file mode 100644 index 00000000000..fba03f08d34 --- /dev/null +++ b/packages/google-cloud-domains/src/v1alpha2/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 {DomainsClient} from './domains_client'; diff --git a/packages/google-cloud-domains/src/v1beta1/domains_client.ts b/packages/google-cloud-domains/src/v1beta1/domains_client.ts new file mode 100644 index 00000000000..f927180c1be --- /dev/null +++ b/packages/google-cloud-domains/src/v1beta1/domains_client.ts @@ -0,0 +1,2720 @@ +// 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/domains_client_config.json`. + * This file defines retry strategy and timeouts for all API methods in this library. + */ +import * as gapicConfig from './domains_client_config.json'; +const version = require('../../../package.json').version; + +/** + * The Cloud Domains API enables management and configuration of domain names. + * @class + * @memberof v1beta1 + */ +export class DomainsClient { + private _terminated = false; + private _opts: ClientOptions; + private _providedCustomServicePath: boolean; + private _gaxModule: typeof gax | typeof gax.fallback; + private _gaxGrpc: gax.GrpcClient | gax.fallback.GrpcClient; + private _protos: {}; + private _defaults: {[method: string]: gax.CallSettings}; + auth: gax.GoogleAuth; + descriptors: Descriptors = { + page: {}, + stream: {}, + longrunning: {}, + batching: {}, + }; + warn: (code: string, message: string, warnType?: string) => void; + innerApiCalls: {[name: string]: Function}; + pathTemplates: {[name: string]: gax.PathTemplate}; + operationsClient: gax.OperationsClient; + domainsStub?: Promise<{[name: string]: Function}>; + + /** + * Construct an instance of DomainsClient. + * + * @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 DomainsClient({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 DomainsClient; + 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); + + // This API contains "path templates"; forward-slash-separated + // identifiers to uniquely identify resources within the API. + // Create useful helper objects for these. + this.pathTemplates = { + locationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}' + ), + registrationPathTemplate: new this._gaxModule.PathTemplate( + 'projects/{project}/locations/{location}/registrations/{registration}' + ), + }; + + // 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 = { + listRegistrations: new this._gaxModule.PageDescriptor( + 'pageToken', + 'nextPageToken', + 'registrations' + ), + }; + + const protoFilesRoot = this._gaxModule.protobuf.Root.fromJSON(jsonProtos); + // This API contains "long-running operations", which return a + // an Operation object that allows for tracking of the operation, + // rather than holding a request open. + const lroOptions: GrpcClientOptions = { + auth: this.auth, + grpc: 'grpc' in this._gaxGrpc ? this._gaxGrpc.grpc : undefined, + }; + if (opts.fallback === 'rest') { + lroOptions.protoJson = protoFilesRoot; + lroOptions.httpRules = [ + { + selector: 'google.cloud.location.Locations.GetLocation', + get: '/v1beta1/{name=projects/*/locations/*}', + }, + { + selector: 'google.cloud.location.Locations.ListLocations', + get: '/v1beta1/{name=projects/*}/locations', + }, + { + selector: 'google.iam.v1.IAMPolicy.GetIamPolicy', + get: '/v1beta1/{resource=projects/*/locations/*/registrations/*}:getIamPolicy', + }, + { + selector: 'google.iam.v1.IAMPolicy.SetIamPolicy', + post: '/v1beta1/{resource=projects/*/locations/*/registrations/*}:setIamPolicy', + body: '*', + }, + { + selector: 'google.iam.v1.IAMPolicy.TestIamPermissions', + post: '/v1beta1/{resource=projects/*/locations/*/registrations/*}:testIamPermissions', + body: '*', + }, + { + selector: 'google.longrunning.Operations.GetOperation', + get: '/v1beta1/{name=projects/*/locations/*/operations/*}', + }, + { + selector: 'google.longrunning.Operations.ListOperations', + get: '/v1beta1/{name=projects/*/locations/*}/operations', + }, + ]; + } + this.operationsClient = this._gaxModule + .lro(lroOptions) + .operationsClient(opts); + const registerDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const registerDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const transferDomainResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const transferDomainMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const updateRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const updateRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const configureManagementSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const configureManagementSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const configureDnsSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const configureDnsSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const configureContactSettingsResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const configureContactSettingsMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const exportRegistrationResponse = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.Registration' + ) as gax.protobuf.Type; + const exportRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + const deleteRegistrationResponse = protoFilesRoot.lookup( + '.google.protobuf.Empty' + ) as gax.protobuf.Type; + const deleteRegistrationMetadata = protoFilesRoot.lookup( + '.google.cloud.domains.v1beta1.OperationMetadata' + ) as gax.protobuf.Type; + + this.descriptors.longrunning = { + registerDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + registerDomainResponse.decode.bind(registerDomainResponse), + registerDomainMetadata.decode.bind(registerDomainMetadata) + ), + transferDomain: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + transferDomainResponse.decode.bind(transferDomainResponse), + transferDomainMetadata.decode.bind(transferDomainMetadata) + ), + updateRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + updateRegistrationResponse.decode.bind(updateRegistrationResponse), + updateRegistrationMetadata.decode.bind(updateRegistrationMetadata) + ), + configureManagementSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureManagementSettingsResponse.decode.bind( + configureManagementSettingsResponse + ), + configureManagementSettingsMetadata.decode.bind( + configureManagementSettingsMetadata + ) + ), + configureDnsSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureDnsSettingsResponse.decode.bind(configureDnsSettingsResponse), + configureDnsSettingsMetadata.decode.bind(configureDnsSettingsMetadata) + ), + configureContactSettings: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + configureContactSettingsResponse.decode.bind( + configureContactSettingsResponse + ), + configureContactSettingsMetadata.decode.bind( + configureContactSettingsMetadata + ) + ), + exportRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + exportRegistrationResponse.decode.bind(exportRegistrationResponse), + exportRegistrationMetadata.decode.bind(exportRegistrationMetadata) + ), + deleteRegistration: new this._gaxModule.LongrunningDescriptor( + this.operationsClient, + deleteRegistrationResponse.decode.bind(deleteRegistrationResponse), + deleteRegistrationMetadata.decode.bind(deleteRegistrationMetadata) + ), + }; + + // Put together the default options sent with requests. + this._defaults = this._gaxGrpc.constructSettings( + 'google.cloud.domains.v1beta1.Domains', + 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.domainsStub) { + return this.domainsStub; + } + + // Put together the "service stub" for + // google.cloud.domains.v1beta1.Domains. + this.domainsStub = this._gaxGrpc.createStub( + this._opts.fallback + ? (this._protos as protobuf.Root).lookupService( + 'google.cloud.domains.v1beta1.Domains' + ) + : // eslint-disable-next-line @typescript-eslint/no-explicit-any + (this._protos as any).google.cloud.domains.v1beta1.Domains, + 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 domainsStubMethods = [ + 'searchDomains', + 'retrieveRegisterParameters', + 'registerDomain', + 'retrieveTransferParameters', + 'transferDomain', + 'listRegistrations', + 'getRegistration', + 'updateRegistration', + 'configureManagementSettings', + 'configureDnsSettings', + 'configureContactSettings', + 'exportRegistration', + 'deleteRegistration', + 'retrieveAuthorizationCode', + 'resetAuthorizationCode', + ]; + for (const methodName of domainsStubMethods) { + const callPromise = this.domainsStub.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.domainsStub; + } + + /** + * The DNS address for this API service. + * @returns {string} The DNS address for this service. + */ + static get servicePath() { + return 'domains.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 'domains.googleapis.com'; + } + + /** + * The port for this API service. + * @returns {number} The default port for this service. + */ + static get port() { + return 443; + } + + /** + * The scopes needed to make gRPC calls for every method defined + * in this service. + * @returns {string[]} List of default scopes. + */ + static get scopes() { + return ['https://www.googleapis.com/auth/cloud-platform']; + } + + getProjectId(): Promise; + getProjectId(callback: Callback): void; + /** + * Return the project ID used by this class. + * @returns {Promise} A promise that resolves to string containing the project ID. + */ + getProjectId( + callback?: Callback + ): Promise | void { + if (callback) { + this.auth.getProjectId(callback); + return; + } + return this.auth.getProjectId(); + } + + // ------------------- + // -- Service calls -- + // ------------------- + /** + * Searches for available domain names similar to the provided query. + * + * Availability results from this method are approximate; call + * `RetrieveRegisterParameters` on a domain before registering to confirm + * availability. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.query + * Required. String used to search for available domain names. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [SearchDomainsResponse]{@link google.cloud.domains.v1beta1.SearchDomainsResponse}. + * 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/domains.search_domains.js + * region_tag:domains_v1beta1_generated_Domains_SearchDomains_async + */ + searchDomains( + request?: protos.google.cloud.domains.v1beta1.ISearchDomainsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + protos.google.cloud.domains.v1beta1.ISearchDomainsRequest | undefined, + {} | undefined + ] + >; + searchDomains( + request: protos.google.cloud.domains.v1beta1.ISearchDomainsRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + | protos.google.cloud.domains.v1beta1.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request: protos.google.cloud.domains.v1beta1.ISearchDomainsRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + | protos.google.cloud.domains.v1beta1.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): void; + searchDomains( + request?: protos.google.cloud.domains.v1beta1.ISearchDomainsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + | protos.google.cloud.domains.v1beta1.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + | protos.google.cloud.domains.v1beta1.ISearchDomainsRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.ISearchDomainsResponse, + protos.google.cloud.domains.v1beta1.ISearchDomainsRequest | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.searchDomains(request, options, callback); + } + /** + * Gets parameters needed to register a new domain name, including price and + * up-to-date availability. Use the returned values to call `RegisterDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveRegisterParametersResponse]{@link google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse}. + * 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/domains.retrieve_register_parameters.js + * region_tag:domains_v1beta1_generated_Domains_RetrieveRegisterParameters_async + */ + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request: protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveRegisterParameters( + request?: protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveRegisterParameters( + request, + options, + callback + ); + } + /** + * Gets parameters needed to transfer a domain name from another registrar to + * Cloud Domains. For domains managed by Google Domains, transferring to Cloud + * Domains is not supported. + * + * + * Use the returned values to call `TransferDomain`. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.domainName + * Required. The domain name. Unicode domain names must be expressed in Punycode format. + * @param {string} request.location + * Required. The location. Must be in the format `projects/* /locations/*`. + * @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 [RetrieveTransferParametersResponse]{@link google.cloud.domains.v1beta1.RetrieveTransferParametersResponse}. + * 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/domains.retrieve_transfer_parameters.js + * region_tag:domains_v1beta1_generated_Domains_RetrieveTransferParameters_async + */ + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | undefined + ), + {} | undefined + ] + >; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request: protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveTransferParameters( + request?: protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersRequest + | 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({ + location: request.location ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveTransferParameters( + request, + options, + callback + ); + } + /** + * Gets the details of a `Registration` resource. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to get, in the format + * `projects/* /locations/* /registrations/*`. + * @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 [Registration]{@link google.cloud.domains.v1beta1.Registration}. + * 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/domains.get_registration.js + * region_tag:domains_v1beta1_generated_Domains_GetRegistration_async + */ + getRegistration( + request?: protos.google.cloud.domains.v1beta1.IGetRegistrationRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IGetRegistrationRequest | undefined, + {} | undefined + ] + >; + getRegistration( + request: protos.google.cloud.domains.v1beta1.IGetRegistrationRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRegistration, + | protos.google.cloud.domains.v1beta1.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request: protos.google.cloud.domains.v1beta1.IGetRegistrationRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.IRegistration, + | protos.google.cloud.domains.v1beta1.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): void; + getRegistration( + request?: protos.google.cloud.domains.v1beta1.IGetRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.IRegistration, + | protos.google.cloud.domains.v1beta1.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.IRegistration, + | protos.google.cloud.domains.v1beta1.IGetRegistrationRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IGetRegistrationRequest | 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.getRegistration(request, options, callback); + } + /** + * Gets the authorization code of the `Registration` for the purpose of + * transferring the domain to another registrar. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being retrieved, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1beta1.AuthorizationCode}. + * 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/domains.retrieve_authorization_code.js + * region_tag:domains_v1beta1_generated_Domains_RetrieveAuthorizationCode_async + */ + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | undefined + ), + {} | undefined + ] + >; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request: protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + retrieveAuthorizationCode( + request?: protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1beta1.IRetrieveAuthorizationCodeRequest + | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.retrieveAuthorizationCode( + request, + options, + callback + ); + } + /** + * Resets the authorization code of the `Registration` to a new random string. + * + * You can call this method only after 60 days have elapsed since the initial + * domain registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose authorization code is being reset, + * in the format `projects/* /locations/* /registrations/*`. + * @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 [AuthorizationCode]{@link google.cloud.domains.v1beta1.AuthorizationCode}. + * 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/domains.reset_authorization_code.js + * region_tag:domains_v1beta1_generated_Domains_ResetAuthorizationCode_async + */ + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | undefined + ), + {} | undefined + ] + >; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, + options: CallOptions, + callback: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request: protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, + callback: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): void; + resetAuthorizationCode( + request?: protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest, + optionsOrCallback?: + | CallOptions + | Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + >, + callback?: Callback< + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | null + | undefined, + {} | null | undefined + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IAuthorizationCode, + ( + | protos.google.cloud.domains.v1beta1.IResetAuthorizationCodeRequest + | 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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.resetAuthorizationCode( + request, + options, + callback + ); + } + + /** + * Registers a new domain name and creates a corresponding `Registration` + * resource. + * + * Call `RetrieveRegisterParameters` first to check availability of the domain + * name and determine parameters like price that are needed to build a call to + * this method. + * + * A successful call creates a `Registration` resource in state + * `REGISTRATION_PENDING`, which resolves to `ACTIVE` within 1-2 + * minutes, indicating that the domain was successfully registered. If the + * resource ends up in state `REGISTRATION_FAILED`, it indicates that the + * domain was not registered successfully, and you can safely delete the + * resource and retry registration. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1beta1.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * @param {number[]} request.domainNotices + * The list of domain notices that you acknowledge. Call + * `RetrieveRegisterParameters` to see the notices that need acknowledgement. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Yearly price to register or renew the domain. + * The value that should be put here can be obtained from + * RetrieveRegisterParameters or SearchDomains calls. + * @param {boolean} request.validateOnly + * When true, only validation is performed, without actually registering + * the domain. Follows: + * https://cloud.google.com/apis/design/design_patterns#request_validation + * @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/domains.register_domain.js + * region_tag:domains_v1beta1_generated_Domains_RegisterDomain_async + */ + registerDomain( + request?: protos.google.cloud.domains.v1beta1.IRegisterDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + registerDomain( + request: protos.google.cloud.domains.v1beta1.IRegisterDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request: protos.google.cloud.domains.v1beta1.IRegisterDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + registerDomain( + request?: protos.google.cloud.domains.v1beta1.IRegisterDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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.registerDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `registerDomain()`. + * @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/domains.register_domain.js + * region_tag:domains_v1beta1_generated_Domains_RegisterDomain_async + */ + async checkRegisterDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.registerDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Transfers a domain name from another registrar to Cloud Domains. For + * domains managed by Google Domains, transferring to Cloud Domains is not + * supported. + * + * + * Before calling this method, go to the domain's current registrar to unlock + * the domain for transfer and retrieve the domain's transfer authorization + * code. Then call `RetrieveTransferParameters` to confirm that the domain is + * unlocked and to get values needed to build a call to this method. + * + * A successful call creates a `Registration` resource in state + * `TRANSFER_PENDING`. It can take several days to complete the transfer + * process. The registrant can often speed up this process by approving the + * transfer through the current registrar, either by clicking a link in an + * email from the registrar or by visiting the registrar's website. + * + * A few minutes after transfer approval, the resource transitions to state + * `ACTIVE`, indicating that the transfer was successful. If the transfer is + * rejected or the request expires without being approved, the resource can + * end up in state `TRANSFER_FAILED`. If transfer fails, you can safely delete + * the resource and retry the transfer. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The parent resource of the `Registration`. Must be in the + * format `projects/* /locations/*`. + * @param {google.cloud.domains.v1beta1.Registration} request.registration + * Required. The complete `Registration` resource to be created. + * + * You can leave `registration.dns_settings` unset to import the + * domain's current DNS configuration from its current registrar. Use this + * option only if you are sure that the domain's current DNS service + * does not cease upon transfer, as is often the case for DNS services + * provided for free by the registrar. + * @param {number[]} request.contactNotices + * The list of contact notices that you acknowledge. The notices + * needed here depend on the values specified in + * `registration.contact_settings`. + * @param {google.type.Money} request.yearlyPrice + * Required. Acknowledgement of the price to transfer or renew the domain for one year. + * Call `RetrieveTransferParameters` to obtain the price, which you must + * acknowledge. + * @param {google.cloud.domains.v1beta1.AuthorizationCode} request.authorizationCode + * The domain's transfer authorization code. You can obtain this from the + * domain's current registrar. + * @param {boolean} request.validateOnly + * Validate the request without actually transferring the domain. + * @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/domains.transfer_domain.js + * region_tag:domains_v1beta1_generated_Domains_TransferDomain_async + */ + transferDomain( + request?: protos.google.cloud.domains.v1beta1.ITransferDomainRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + transferDomain( + request: protos.google.cloud.domains.v1beta1.ITransferDomainRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request: protos.google.cloud.domains.v1beta1.ITransferDomainRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + transferDomain( + request?: protos.google.cloud.domains.v1beta1.ITransferDomainRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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.transferDomain(request, options, callback); + } + /** + * Check the status of the long running operation returned by `transferDomain()`. + * @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/domains.transfer_domain.js + * region_tag:domains_v1beta1_generated_Domains_TransferDomain_async + */ + async checkTransferDomainProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.transferDomain, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Updates select fields of a `Registration` resource, notably `labels`. To + * update other fields, use the appropriate custom update method: + * + * * To update management settings, see `ConfigureManagementSettings` + * * To update DNS configuration, see `ConfigureDnsSettings` + * * To update contact information, see `ConfigureContactSettings` + * + * @param {Object} request + * The request object that will be sent. + * @param {google.cloud.domains.v1beta1.Registration} request.registration + * Fields of the `Registration` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the labels are being updated, the `update_mask` is + * `"labels"`. + * @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/domains.update_registration.js + * region_tag:domains_v1beta1_generated_Domains_UpdateRegistration_async + */ + updateRegistration( + request?: protos.google.cloud.domains.v1beta1.IUpdateRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + updateRegistration( + request: protos.google.cloud.domains.v1beta1.IUpdateRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request: protos.google.cloud.domains.v1beta1.IUpdateRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + updateRegistration( + request?: protos.google.cloud.domains.v1beta1.IUpdateRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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({ + 'registration.name': request.registration!.name ?? '', + }); + this.initialize(); + return this.innerApiCalls.updateRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `updateRegistration()`. + * @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/domains.update_registration.js + * region_tag:domains_v1beta1_generated_Domains_UpdateRegistration_async + */ + async checkUpdateRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.updateRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s management settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose management settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1beta1.ManagementSettings} request.managementSettings + * Fields of the `ManagementSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the transfer lock is being updated, the `update_mask` + * is `"transfer_lock_state"`. + * @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/domains.configure_management_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureManagementSettings_async + */ + configureManagementSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureManagementSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureManagementSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureManagementSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureManagementSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureManagementSettings()`. + * @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/domains.configure_management_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureManagementSettings_async + */ + async checkConfigureManagementSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.configureManagementSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s DNS settings. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose DNS settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1beta1.DnsSettings} request.dnsSettings + * Fields of the `DnsSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the name servers are being updated for an existing + * Custom DNS configuration, the `update_mask` is + * `"custom_dns.name_servers"`. + * + * When changing the DNS provider from one type to another, pass the new + * provider's field name as part of the field mask. For example, when changing + * from a Google Domains DNS configuration to a Custom DNS configuration, the + * `update_mask` is `"custom_dns"`. // + * @param {boolean} request.validateOnly + * Validate the request without actually updating the DNS settings. + * @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/domains.configure_dns_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureDnsSettings_async + */ + configureDnsSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureDnsSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureDnsSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureDnsSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureDnsSettings(request, options, callback); + } + /** + * Check the status of the long running operation returned by `configureDnsSettings()`. + * @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/domains.configure_dns_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureDnsSettings_async + */ + async checkConfigureDnsSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.configureDnsSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Updates a `Registration`'s contact settings. Some changes require + * confirmation by the domain's registrant contact . + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.registration + * Required. The name of the `Registration` whose contact settings are being updated, + * in the format `projects/* /locations/* /registrations/*`. + * @param {google.cloud.domains.v1beta1.ContactSettings} request.contactSettings + * Fields of the `ContactSettings` to update. + * @param {google.protobuf.FieldMask} request.updateMask + * Required. The field mask describing which fields to update as a comma-separated list. + * For example, if only the registrant contact is being updated, the + * `update_mask` is `"registrant_contact"`. + * @param {number[]} request.contactNotices + * The list of contact notices that the caller acknowledges. The notices + * needed here depend on the values specified in `contact_settings`. + * @param {boolean} request.validateOnly + * Validate the request without actually updating the contact settings. + * @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/domains.configure_contact_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureContactSettings_async + */ + configureContactSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + configureContactSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request: protos.google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + configureContactSettings( + request?: protos.google.cloud.domains.v1beta1.IConfigureContactSettingsRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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({ + registration: request.registration ?? '', + }); + this.initialize(); + return this.innerApiCalls.configureContactSettings( + request, + options, + callback + ); + } + /** + * Check the status of the long running operation returned by `configureContactSettings()`. + * @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/domains.configure_contact_settings.js + * region_tag:domains_v1beta1_generated_Domains_ConfigureContactSettings_async + */ + async checkConfigureContactSettingsProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.configureContactSettings, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Exports a `Registration` resource, such that it is no longer managed by + * Cloud Domains. + * + * When an active domain is successfully exported, you can continue to use the + * domain in [Google Domains](https://domains.google/) until it expires. The + * calling user becomes the domain's sole owner in Google Domains, and + * permissions for the domain are subsequently managed there. The domain does + * not renew automatically unless the new owner sets up billing in Google + * Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to export, + * in the format `projects/* /locations/* /registrations/*`. + * @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/domains.export_registration.js + * region_tag:domains_v1beta1_generated_Domains_ExportRegistration_async + */ + exportRegistration( + request?: protos.google.cloud.domains.v1beta1.IExportRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + exportRegistration( + request: protos.google.cloud.domains.v1beta1.IExportRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request: protos.google.cloud.domains.v1beta1.IExportRegistrationRequest, + callback: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + exportRegistration( + request?: protos.google.cloud.domains.v1beta1.IExportRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.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.exportRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `exportRegistration()`. + * @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/domains.export_registration.js + * region_tag:domains_v1beta1_generated_Domains_ExportRegistration_async + */ + async checkExportRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.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.exportRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.cloud.domains.v1beta1.Registration, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Deletes a `Registration` resource. + * + * This method works on any `Registration` resource using [Subscription or + * Commitment billing](/domains/pricing#billing-models), provided that the + * resource was created at least 1 day in the past. + * + * For `Registration` resources using + * [Monthly billing](/domains/pricing#billing-models), this method works if: + * + * * `state` is `EXPORTED` with `expire_time` in the past + * * `state` is `REGISTRATION_FAILED` + * * `state` is `TRANSFER_FAILED` + * + * When an active registration is successfully deleted, you can continue to + * use the domain in [Google Domains](https://domains.google/) until it + * expires. The calling user becomes the domain's sole owner in Google + * Domains, and permissions for the domain are subsequently managed there. The + * domain does not renew automatically unless the new owner sets up billing in + * Google Domains. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.name + * Required. The name of the `Registration` to delete, + * in the format `projects/* /locations/* /registrations/*`. + * @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/domains.delete_registration.js + * region_tag:domains_v1beta1_generated_Domains_DeleteRegistration_async + */ + deleteRegistration( + request?: protos.google.cloud.domains.v1beta1.IDeleteRegistrationRequest, + options?: CallOptions + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | undefined, + {} | undefined + ] + >; + deleteRegistration( + request: protos.google.cloud.domains.v1beta1.IDeleteRegistrationRequest, + options: CallOptions, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request: protos.google.cloud.domains.v1beta1.IDeleteRegistrationRequest, + callback: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): void; + deleteRegistration( + request?: protos.google.cloud.domains.v1beta1.IDeleteRegistrationRequest, + optionsOrCallback?: + | CallOptions + | Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + >, + callback?: Callback< + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >, + protos.google.longrunning.IOperation | null | undefined, + {} | null | undefined + > + ): Promise< + [ + LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.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.deleteRegistration(request, options, callback); + } + /** + * Check the status of the long running operation returned by `deleteRegistration()`. + * @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/domains.delete_registration.js + * region_tag:domains_v1beta1_generated_Domains_DeleteRegistration_async + */ + async checkDeleteRegistrationProgress( + name: string + ): Promise< + LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.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.deleteRegistration, + this._gaxModule.createDefaultBackoffSettings() + ); + return decodeOperation as LROperation< + protos.google.protobuf.Empty, + protos.google.cloud.domains.v1beta1.OperationMetadata + >; + } + /** + * Lists the `Registration` resources in a project. + * + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1beta1.Registration}. + * 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrations( + request?: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + options?: CallOptions + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRegistration[], + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + ] + >; + listRegistrations( + request: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + options: CallOptions, + callback: PaginationCallback< + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1beta1.IRegistration + > + ): void; + listRegistrations( + request: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + callback: PaginationCallback< + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1beta1.IRegistration + > + ): void; + listRegistrations( + request?: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + optionsOrCallback?: + | CallOptions + | PaginationCallback< + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1beta1.IRegistration + >, + callback?: PaginationCallback< + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + | protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + | null + | undefined, + protos.google.cloud.domains.v1beta1.IRegistration + > + ): Promise< + [ + protos.google.cloud.domains.v1beta1.IRegistration[], + protos.google.cloud.domains.v1beta1.IListRegistrationsRequest | null, + protos.google.cloud.domains.v1beta1.IListRegistrationsResponse + ] + > | 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.listRegistrations(request, options, callback); + } + + /** + * Equivalent to `method.name.toCamelCase()`, but returns a NodeJS Stream object. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 [Registration]{@link google.cloud.domains.v1beta1.Registration} 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 `listRegistrationsAsync()` + * 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. + */ + listRegistrationsStream( + request?: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.createStream( + this.innerApiCalls.listRegistrations as GaxCall, + request, + callSettings + ); + } + + /** + * Equivalent to `listRegistrations`, but returns an iterable object. + * + * `for`-`await`-`of` syntax is used with the iterable to get response elements on-demand. + * @param {Object} request + * The request object that will be sent. + * @param {string} request.parent + * Required. The project and location from which to list `Registration`s, specified in + * the format `projects/* /locations/*`. + * @param {number} request.pageSize + * Maximum number of results to return. + * @param {string} request.pageToken + * When set to the `next_page_token` from a prior response, provides the next + * page of results. + * @param {string} request.filter + * Filter expression to restrict the `Registration`s returned. + * + * The expression must specify the field name, a comparison operator, and the + * value that you want to use for filtering. The value must be a string, a + * number, a boolean, or an enum value. The comparison operator should be one + * of =, !=, >, <, >=, <=, or : for prefix or wildcard matches. + * + * For example, to filter to a specific domain name, use an expression like + * `domainName="example.com"`. You can also check for the existence of a + * field; for example, to find domains using custom DNS settings, use an + * expression like `dnsSettings.customDns:*`. + * + * You can also create compound filters by combining expressions with the + * `AND` and `OR` operators. For example, to find domains that are suspended + * or have specific issues flagged, use an expression like + * `(state=SUSPENDED) OR (issue:*)`. + * @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 + * [Registration]{@link google.cloud.domains.v1beta1.Registration}. 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/domains.list_registrations.js + * region_tag:domains_v1beta1_generated_Domains_ListRegistrations_async + */ + listRegistrationsAsync( + request?: protos.google.cloud.domains.v1beta1.IListRegistrationsRequest, + 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['listRegistrations']; + const callSettings = defaultCallSettings.merge(options); + this.initialize(); + return this.descriptors.page.listRegistrations.asyncIterate( + this.innerApiCalls['listRegistrations'] as GaxCall, + request as {}, + callSettings + ) as AsyncIterable; + } + // -------------------- + // -- Path templates -- + // -------------------- + + /** + * Return a fully-qualified location resource name string. + * + * @param {string} project + * @param {string} location + * @returns {string} Resource name string. + */ + locationPath(project: string, location: string) { + return this.pathTemplates.locationPathTemplate.render({ + project: project, + location: location, + }); + } + + /** + * Parse the project from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the project. + */ + matchProjectFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).project; + } + + /** + * Parse the location from Location resource. + * + * @param {string} locationName + * A fully-qualified path representing Location resource. + * @returns {string} A string representing the location. + */ + matchLocationFromLocationName(locationName: string) { + return this.pathTemplates.locationPathTemplate.match(locationName).location; + } + + /** + * Return a fully-qualified registration resource name string. + * + * @param {string} project + * @param {string} location + * @param {string} registration + * @returns {string} Resource name string. + */ + registrationPath(project: string, location: string, registration: string) { + return this.pathTemplates.registrationPathTemplate.render({ + project: project, + location: location, + registration: registration, + }); + } + + /** + * Parse the project from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the project. + */ + matchProjectFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .project; + } + + /** + * Parse the location from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the location. + */ + matchLocationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .location; + } + + /** + * Parse the registration from Registration resource. + * + * @param {string} registrationName + * A fully-qualified path representing Registration resource. + * @returns {string} A string representing the registration. + */ + matchRegistrationFromRegistrationName(registrationName: string) { + return this.pathTemplates.registrationPathTemplate.match(registrationName) + .registration; + } + + /** + * 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.domainsStub && !this._terminated) { + return this.domainsStub.then(stub => { + this._terminated = true; + stub.close(); + this.operationsClient.close(); + }); + } + return Promise.resolve(); + } +} diff --git a/packages/google-cloud-domains/src/v1beta1/domains_client_config.json b/packages/google-cloud-domains/src/v1beta1/domains_client_config.json new file mode 100644 index 00000000000..b6ab07af08b --- /dev/null +++ b/packages/google-cloud-domains/src/v1beta1/domains_client_config.json @@ -0,0 +1,86 @@ +{ + "interfaces": { + "google.cloud.domains.v1beta1.Domains": { + "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": { + "SearchDomains": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveRegisterParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RegisterDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveTransferParameters": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "TransferDomain": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ListRegistrations": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "GetRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "UpdateRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureManagementSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureDnsSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ConfigureContactSettings": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ExportRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "DeleteRegistration": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "RetrieveAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + }, + "ResetAuthorizationCode": { + "retry_codes_name": "non_idempotent", + "retry_params_name": "default" + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1beta1/domains_proto_list.json b/packages/google-cloud-domains/src/v1beta1/domains_proto_list.json new file mode 100644 index 00000000000..fadbf9277d6 --- /dev/null +++ b/packages/google-cloud-domains/src/v1beta1/domains_proto_list.json @@ -0,0 +1,3 @@ +[ + "../../protos/google/cloud/domains/v1beta1/domains.proto" +] diff --git a/packages/google-cloud-domains/src/v1beta1/gapic_metadata.json b/packages/google-cloud-domains/src/v1beta1/gapic_metadata.json new file mode 100644 index 00000000000..5e927dae884 --- /dev/null +++ b/packages/google-cloud-domains/src/v1beta1/gapic_metadata.json @@ -0,0 +1,177 @@ +{ + "schema": "1.0", + "comment": "This file maps proto services/RPCs to the corresponding library clients/methods", + "language": "typescript", + "protoPackage": "google.cloud.domains.v1beta1", + "libraryPackage": "@google-cloud/domains", + "services": { + "Domains": { + "clients": { + "grpc": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + }, + "grpc-fallback": { + "libraryClient": "DomainsClient", + "rpcs": { + "SearchDomains": { + "methods": [ + "searchDomains" + ] + }, + "RetrieveRegisterParameters": { + "methods": [ + "retrieveRegisterParameters" + ] + }, + "RetrieveTransferParameters": { + "methods": [ + "retrieveTransferParameters" + ] + }, + "GetRegistration": { + "methods": [ + "getRegistration" + ] + }, + "RetrieveAuthorizationCode": { + "methods": [ + "retrieveAuthorizationCode" + ] + }, + "ResetAuthorizationCode": { + "methods": [ + "resetAuthorizationCode" + ] + }, + "RegisterDomain": { + "methods": [ + "registerDomain" + ] + }, + "TransferDomain": { + "methods": [ + "transferDomain" + ] + }, + "UpdateRegistration": { + "methods": [ + "updateRegistration" + ] + }, + "ConfigureManagementSettings": { + "methods": [ + "configureManagementSettings" + ] + }, + "ConfigureDnsSettings": { + "methods": [ + "configureDnsSettings" + ] + }, + "ConfigureContactSettings": { + "methods": [ + "configureContactSettings" + ] + }, + "ExportRegistration": { + "methods": [ + "exportRegistration" + ] + }, + "DeleteRegistration": { + "methods": [ + "deleteRegistration" + ] + }, + "ListRegistrations": { + "methods": [ + "listRegistrations", + "listRegistrationsStream", + "listRegistrationsAsync" + ] + } + } + } + } + } + } +} diff --git a/packages/google-cloud-domains/src/v1beta1/index.ts b/packages/google-cloud-domains/src/v1beta1/index.ts new file mode 100644 index 00000000000..fba03f08d34 --- /dev/null +++ b/packages/google-cloud-domains/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 {DomainsClient} from './domains_client'; diff --git a/packages/google-cloud-domains/system-test/fixtures/sample/src/index.js b/packages/google-cloud-domains/system-test/fixtures/sample/src/index.js new file mode 100644 index 00000000000..7574c2a7778 --- /dev/null +++ b/packages/google-cloud-domains/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 domains = require('@google-cloud/domains'); + +function main() { + const domainsClient = new domains.DomainsClient(); +} + +main(); diff --git a/packages/google-cloud-domains/system-test/fixtures/sample/src/index.ts b/packages/google-cloud-domains/system-test/fixtures/sample/src/index.ts new file mode 100644 index 00000000000..fc8150bfe54 --- /dev/null +++ b/packages/google-cloud-domains/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 {DomainsClient} from '@google-cloud/domains'; + +// check that the client class type name can be used +function doStuffWithDomainsClient(client: DomainsClient) { + client.close(); +} + +function main() { + // check that the client instance can be created + const domainsClient = new DomainsClient(); + doStuffWithDomainsClient(domainsClient); +} + +main(); diff --git a/packages/google-cloud-domains/system-test/install.ts b/packages/google-cloud-domains/system-test/install.ts new file mode 100644 index 00000000000..6dd1eaadafa --- /dev/null +++ b/packages/google-cloud-domains/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-cloud-domains/test/gapic_domains_v1.ts b/packages/google-cloud-domains/test/gapic_domains_v1.ts new file mode 100644 index 00000000000..4b3a7e3c02d --- /dev/null +++ b/packages/google-cloud-domains/test/gapic_domains_v1.ts @@ -0,0 +1,3071 @@ +// 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 domainsModule 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.DomainsClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = domainsModule.v1.DomainsClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = domainsModule.v1.DomainsClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = domainsModule.v1.DomainsClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new domainsModule.v1.DomainsClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new domainsModule.v1.DomainsClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + await client.initialize(); + assert(client.domainsStub); + }); + + it('has close method for the initialized client', done => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.domainsStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new domainsModule.v1.DomainsClient({ + 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 domainsModule.v1.DomainsClient({ + 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('searchDomains', () => { + it('invokes searchDomains without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = stubSimpleCall(expectedResponse); + const [response] = await client.searchDomains(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.searchDomains( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.ISearchDomainsResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.searchDomains = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.searchDomains(request), expectedError); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.searchDomains(request), expectedError); + }); + }); + + describe('retrieveRegisterParameters', () => { + it('invokes retrieveRegisterParameters without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveRegisterParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveRegisterParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IRetrieveRegisterParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveRegisterParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + }); + }); + + describe('retrieveTransferParameters', () => { + it('invokes retrieveTransferParameters without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveTransferParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveTransferParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IRetrieveTransferParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveTransferParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + }); + }); + + describe('getRegistration', () => { + it('invokes getRegistration without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ); + client.innerApiCalls.getRegistration = stubSimpleCall(expectedResponse); + const [response] = await client.getRegistration(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ); + client.innerApiCalls.getRegistration = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getRegistration( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IRegistration | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getRegistration = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getRegistration(request), expectedError); + }); + }); + + describe('retrieveAuthorizationCode', () => { + it('invokes retrieveAuthorizationCode without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('resetAuthorizationCode', () => { + it('invokes resetAuthorizationCode without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.resetAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.resetAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.resetAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('registerDomain', () => { + it('invokes registerDomain without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.registerDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.registerDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.registerDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.registerDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkRegisterDomainProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkRegisterDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkRegisterDomainProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkRegisterDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('transferDomain', () => { + it('invokes transferDomain without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.transferDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.transferDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.transferDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.transferDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkTransferDomainProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkTransferDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkTransferDomainProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkTransferDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateRegistration', () => { + it('invokes updateRegistration without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.updateRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateRegistrationProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkUpdateRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateRegistrationProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkUpdateRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureManagementSettings', () => { + it('invokes configureManagementSettings without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureManagementSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureManagementSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureManagementSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureManagementSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureManagementSettingsProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureManagementSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureManagementSettingsProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureManagementSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureDnsSettings', () => { + it('invokes configureDnsSettings without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureDnsSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureDnsSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.configureDnsSettings(request), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureDnsSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureDnsSettingsProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureDnsSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureDnsSettingsProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureDnsSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureContactSettings', () => { + it('invokes configureContactSettings without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureContactSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureContactSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureContactSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureContactSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureContactSettingsProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureContactSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureContactSettingsProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkConfigureContactSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('exportRegistration', () => { + it('invokes exportRegistration without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.exportRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.exportRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1.IRegistration, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.exportRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.exportRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkExportRegistrationProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkExportRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkExportRegistrationProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkExportRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteRegistration', () => { + it('invokes deleteRegistration without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with call error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with LRO error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteRegistrationProgress without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkDeleteRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteRegistrationProgress with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + 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.checkDeleteRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listRegistrations', () => { + it('invokes listRegistrations without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = stubSimpleCall(expectedResponse); + const [response] = await client.listRegistrations(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations without error using callback', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listRegistrations( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1.IRegistration[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listRegistrations = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listRegistrations(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrationsStream without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + ]; + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1.Registration[] = []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1.Registration) => { + 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.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listRegistrationsStream with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1.Registration[] = []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1.Registration) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations without error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1.Registration() + ), + ]; + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.domains.v1.IRegistration[] = []; + const iterable = client.listRegistrationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations with error', async () => { + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listRegistrationsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.domains.v1.IRegistration[] = []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('registration', () => { + const fakePath = '/rendered/path/registration'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + registration: 'registrationValue', + }; + const client = new domainsModule.v1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.registrationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.registrationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('registrationPath', () => { + const result = client.registrationPath( + 'projectValue', + 'locationValue', + 'registrationValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.registrationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromRegistrationName', () => { + const result = client.matchProjectFromRegistrationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromRegistrationName', () => { + const result = client.matchLocationFromRegistrationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchRegistrationFromRegistrationName', () => { + const result = client.matchRegistrationFromRegistrationName(fakePath); + assert.strictEqual(result, 'registrationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-domains/test/gapic_domains_v1alpha2.ts b/packages/google-cloud-domains/test/gapic_domains_v1alpha2.ts new file mode 100644 index 00000000000..d4c666c93ae --- /dev/null +++ b/packages/google-cloud-domains/test/gapic_domains_v1alpha2.ts @@ -0,0 +1,3075 @@ +// 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 domainsModule 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('v1alpha2.DomainsClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = domainsModule.v1alpha2.DomainsClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = domainsModule.v1alpha2.DomainsClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = domainsModule.v1alpha2.DomainsClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new domainsModule.v1alpha2.DomainsClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + await client.initialize(); + assert(client.domainsStub); + }); + + it('has close method for the initialized client', done => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.domainsStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new domainsModule.v1alpha2.DomainsClient({ + 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 domainsModule.v1alpha2.DomainsClient({ + 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('searchDomains', () => { + it('invokes searchDomains without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = stubSimpleCall(expectedResponse); + const [response] = await client.searchDomains(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.searchDomains( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.ISearchDomainsResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.searchDomains = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.searchDomains(request), expectedError); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.searchDomains(request), expectedError); + }); + }); + + describe('retrieveRegisterParameters', () => { + it('invokes retrieveRegisterParameters without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveRegisterParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveRegisterParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IRetrieveRegisterParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveRegisterParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + }); + }); + + describe('retrieveTransferParameters', () => { + it('invokes retrieveTransferParameters without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveTransferParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveTransferParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IRetrieveTransferParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveTransferParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + }); + }); + + describe('getRegistration', () => { + it('invokes getRegistration without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ); + client.innerApiCalls.getRegistration = stubSimpleCall(expectedResponse); + const [response] = await client.getRegistration(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ); + client.innerApiCalls.getRegistration = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getRegistration( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IRegistration | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getRegistration = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getRegistration(request), expectedError); + }); + }); + + describe('retrieveAuthorizationCode', () => { + it('invokes retrieveAuthorizationCode without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('resetAuthorizationCode', () => { + it('invokes resetAuthorizationCode without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.resetAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.resetAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.resetAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('registerDomain', () => { + it('invokes registerDomain without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.registerDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.registerDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.registerDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.registerDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkRegisterDomainProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkRegisterDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkRegisterDomainProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkRegisterDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('transferDomain', () => { + it('invokes transferDomain without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.transferDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.transferDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.transferDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.transferDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkTransferDomainProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkTransferDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkTransferDomainProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkTransferDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateRegistration', () => { + it('invokes updateRegistration without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.updateRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateRegistrationProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkUpdateRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateRegistrationProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkUpdateRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureManagementSettings', () => { + it('invokes configureManagementSettings without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureManagementSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureManagementSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureManagementSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureManagementSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureManagementSettingsProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureManagementSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureManagementSettingsProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureManagementSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureDnsSettings', () => { + it('invokes configureDnsSettings without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureDnsSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureDnsSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.configureDnsSettings(request), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureDnsSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureDnsSettingsProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureDnsSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureDnsSettingsProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureDnsSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureContactSettings', () => { + it('invokes configureContactSettings without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureContactSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureContactSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureContactSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureContactSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureContactSettingsProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureContactSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureContactSettingsProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkConfigureContactSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('exportRegistration', () => { + it('invokes exportRegistration without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.exportRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.exportRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1alpha2.IRegistration, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.exportRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.exportRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkExportRegistrationProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkExportRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkExportRegistrationProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkExportRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteRegistration', () => { + it('invokes deleteRegistration without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1alpha2.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with call error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with LRO error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteRegistrationProgress without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkDeleteRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteRegistrationProgress with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + 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.checkDeleteRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listRegistrations', () => { + it('invokes listRegistrations without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = stubSimpleCall(expectedResponse); + const [response] = await client.listRegistrations(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations without error using callback', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listRegistrations( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1alpha2.IRegistration[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listRegistrations = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listRegistrations(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrationsStream without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + ]; + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1alpha2.Registration[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1alpha2.Registration) => { + 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.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listRegistrationsStream with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1alpha2.Registration[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1alpha2.Registration) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations without error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.Registration() + ), + ]; + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.domains.v1alpha2.IRegistration[] = + []; + const iterable = client.listRegistrationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations with error', async () => { + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1alpha2.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1alpha2.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listRegistrationsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.domains.v1alpha2.IRegistration[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('registration', () => { + const fakePath = '/rendered/path/registration'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + registration: 'registrationValue', + }; + const client = new domainsModule.v1alpha2.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.registrationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.registrationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('registrationPath', () => { + const result = client.registrationPath( + 'projectValue', + 'locationValue', + 'registrationValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.registrationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromRegistrationName', () => { + const result = client.matchProjectFromRegistrationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromRegistrationName', () => { + const result = client.matchLocationFromRegistrationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchRegistrationFromRegistrationName', () => { + const result = client.matchRegistrationFromRegistrationName(fakePath); + assert.strictEqual(result, 'registrationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-domains/test/gapic_domains_v1beta1.ts b/packages/google-cloud-domains/test/gapic_domains_v1beta1.ts new file mode 100644 index 00000000000..a70f7e13ca4 --- /dev/null +++ b/packages/google-cloud-domains/test/gapic_domains_v1beta1.ts @@ -0,0 +1,3074 @@ +// 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 domainsModule 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.DomainsClient', () => { + describe('Common methods', () => { + it('has servicePath', () => { + const servicePath = domainsModule.v1beta1.DomainsClient.servicePath; + assert(servicePath); + }); + + it('has apiEndpoint', () => { + const apiEndpoint = domainsModule.v1beta1.DomainsClient.apiEndpoint; + assert(apiEndpoint); + }); + + it('has port', () => { + const port = domainsModule.v1beta1.DomainsClient.port; + assert(port); + assert(typeof port === 'number'); + }); + + it('should create a client with no option', () => { + const client = new domainsModule.v1beta1.DomainsClient(); + assert(client); + }); + + it('should create a client with gRPC fallback', () => { + const client = new domainsModule.v1beta1.DomainsClient({ + fallback: true, + }); + assert(client); + }); + + it('has initialize method and supports deferred initialization', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + await client.initialize(); + assert(client.domainsStub); + }); + + it('has close method for the initialized client', done => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + assert(client.domainsStub); + client.close().then(() => { + done(); + }); + }); + + it('has close method for the non-initialized client', done => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + assert.strictEqual(client.domainsStub, undefined); + client.close().then(() => { + done(); + }); + }); + + it('has getProjectId method', async () => { + const fakeProjectId = 'fake-project-id'; + const client = new domainsModule.v1beta1.DomainsClient({ + 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 domainsModule.v1beta1.DomainsClient({ + 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('searchDomains', () => { + it('invokes searchDomains without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = stubSimpleCall(expectedResponse); + const [response] = await client.searchDomains(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsResponse() + ); + client.innerApiCalls.searchDomains = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.searchDomains( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.ISearchDomainsResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.searchDomains = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.searchDomains(request), expectedError); + const actualRequest = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.searchDomains as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes searchDomains with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.SearchDomainsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.SearchDomainsRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.searchDomains(request), expectedError); + }); + }); + + describe('retrieveRegisterParameters', () => { + it('invokes retrieveRegisterParameters without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveRegisterParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersResponse() + ); + client.innerApiCalls.retrieveRegisterParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveRegisterParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IRetrieveRegisterParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveRegisterParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveRegisterParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveRegisterParameters with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveRegisterParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveRegisterParameters(request), + expectedError + ); + }); + }); + + describe('retrieveTransferParameters', () => { + it('invokes retrieveTransferParameters without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveTransferParameters(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersResponse() + ); + client.innerApiCalls.retrieveTransferParameters = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveTransferParameters( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IRetrieveTransferParametersResponse | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedHeaderRequestParams = `location=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveTransferParameters = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveTransferParameters as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveTransferParameters with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveTransferParametersRequest', + ['location'] + ); + request.location = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveTransferParameters(request), + expectedError + ); + }); + }); + + describe('getRegistration', () => { + it('invokes getRegistration without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ); + client.innerApiCalls.getRegistration = stubSimpleCall(expectedResponse); + const [response] = await client.getRegistration(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ); + client.innerApiCalls.getRegistration = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.getRegistration( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IRegistration | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.getRegistration = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.getRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.getRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes getRegistration with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.GetRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.GetRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects(client.getRegistration(request), expectedError); + }); + }); + + describe('retrieveAuthorizationCode', () => { + it('invokes retrieveAuthorizationCode without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.retrieveAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.AuthorizationCode() + ); + client.innerApiCalls.retrieveAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.retrieveAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.retrieveAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.retrieveAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes retrieveAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RetrieveAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.retrieveAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('resetAuthorizationCode', () => { + it('invokes resetAuthorizationCode without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCall(expectedResponse); + const [response] = await client.resetAuthorizationCode(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.AuthorizationCode() + ); + client.innerApiCalls.resetAuthorizationCode = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.resetAuthorizationCode( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IAuthorizationCode | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.resetAuthorizationCode = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.resetAuthorizationCode as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes resetAuthorizationCode with closed client', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ResetAuthorizationCodeRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedError = new Error('The client has already been closed.'); + client.close(); + await assert.rejects( + client.resetAuthorizationCode(request), + expectedError + ); + }); + }); + + describe('registerDomain', () => { + it('invokes registerDomain without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.registerDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.registerDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.registerDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.registerDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes registerDomain with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.RegisterDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.RegisterDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.registerDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.registerDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.registerDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkRegisterDomainProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkRegisterDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkRegisterDomainProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkRegisterDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('transferDomain', () => { + it('invokes transferDomain without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCall(expectedResponse); + const [operation] = await client.transferDomain(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.transferDomain = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.transferDomain( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.transferDomain(request), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes transferDomain with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.TransferDomainRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.TransferDomainRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.transferDomain = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.transferDomain(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.transferDomain as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkTransferDomainProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkTransferDomainProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkTransferDomainProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkTransferDomainProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('updateRegistration', () => { + it('invokes updateRegistration without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.updateRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.updateRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.updateRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.updateRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes updateRegistration with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.UpdateRegistrationRequest() + ); + request.registration ??= {}; + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.UpdateRegistrationRequest', + ['registration', 'name'] + ); + request.registration.name = defaultValue1; + const expectedHeaderRequestParams = `registration.name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.updateRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.updateRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.updateRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkUpdateRegistrationProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkUpdateRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkUpdateRegistrationProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkUpdateRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureManagementSettings', () => { + it('invokes configureManagementSettings without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureManagementSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureManagementSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureManagementSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureManagementSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureManagementSettings with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureManagementSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureManagementSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureManagementSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureManagementSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureManagementSettingsProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureManagementSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureManagementSettingsProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureManagementSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureDnsSettings', () => { + it('invokes configureDnsSettings without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureDnsSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureDnsSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureDnsSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.configureDnsSettings(request), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureDnsSettings with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureDnsSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureDnsSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureDnsSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureDnsSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureDnsSettingsProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureDnsSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureDnsSettingsProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureDnsSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('configureContactSettings', () => { + it('invokes configureContactSettings without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCall(expectedResponse); + const [operation] = await client.configureContactSettings(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.configureContactSettings = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.configureContactSettings( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects( + client.configureContactSettings(request), + expectedError + ); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes configureContactSettings with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ConfigureContactSettingsRequest', + ['registration'] + ); + request.registration = defaultValue1; + const expectedHeaderRequestParams = `registration=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.configureContactSettings = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.configureContactSettings(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.configureContactSettings as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkConfigureContactSettingsProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureContactSettingsProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkConfigureContactSettingsProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkConfigureContactSettingsProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('exportRegistration', () => { + it('invokes exportRegistration without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.exportRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.exportRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.exportRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.cloud.domains.v1beta1.IRegistration, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.exportRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes exportRegistration with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ExportRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ExportRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.exportRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.exportRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.exportRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkExportRegistrationProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkExportRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkExportRegistrationProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkExportRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('deleteRegistration', () => { + it('invokes deleteRegistration without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCall(expectedResponse); + const [operation] = await client.deleteRegistration(request); + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedResponse = generateSampleMessage( + new protos.google.longrunning.Operation() + ); + client.innerApiCalls.deleteRegistration = + stubLongRunningCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.deleteRegistration( + request, + ( + err?: Error | null, + result?: LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + > | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const operation = (await promise) as LROperation< + protos.google.protobuf.IEmpty, + protos.google.cloud.domains.v1beta1.IOperationMetadata + >; + const [response] = await operation.promise(); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with call error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + expectedError + ); + await assert.rejects(client.deleteRegistration(request), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes deleteRegistration with LRO error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.DeleteRegistrationRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.DeleteRegistrationRequest', + ['name'] + ); + request.name = defaultValue1; + const expectedHeaderRequestParams = `name=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.deleteRegistration = stubLongRunningCall( + undefined, + undefined, + expectedError + ); + const [operation] = await client.deleteRegistration(request); + await assert.rejects(operation.promise(), expectedError); + const actualRequest = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.deleteRegistration as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes checkDeleteRegistrationProgress without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkDeleteRegistrationProgress( + expectedResponse.name + ); + assert.deepStrictEqual(decodedOperation.name, expectedResponse.name); + assert(decodedOperation.metadata); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + + it('invokes checkDeleteRegistrationProgress with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + 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.checkDeleteRegistrationProgress(''), + expectedError + ); + assert((client.operationsClient.getOperation as SinonStub).getCall(0)); + }); + }); + + describe('listRegistrations', () => { + it('invokes listRegistrations without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = stubSimpleCall(expectedResponse); + const [response] = await client.listRegistrations(request); + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations without error using callback', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + ]; + client.innerApiCalls.listRegistrations = + stubSimpleCallWithCallback(expectedResponse); + const promise = new Promise((resolve, reject) => { + client.listRegistrations( + request, + ( + err?: Error | null, + result?: protos.google.cloud.domains.v1beta1.IRegistration[] | null + ) => { + if (err) { + reject(err); + } else { + resolve(result); + } + } + ); + }); + const response = await promise; + assert.deepStrictEqual(response, expectedResponse); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrations with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.innerApiCalls.listRegistrations = stubSimpleCall( + undefined, + expectedError + ); + await assert.rejects(client.listRegistrations(request), expectedError); + const actualRequest = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[0]; + assert.deepStrictEqual(actualRequest, request); + const actualHeaderRequestParams = ( + client.innerApiCalls.listRegistrations as SinonStub + ).getCall(0).args[1].otherArgs.headers['x-goog-request-params']; + assert(actualHeaderRequestParams.includes(expectedHeaderRequestParams)); + }); + + it('invokes listRegistrationsStream without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + ]; + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(expectedResponse); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1beta1.Registration[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1beta1.Registration) => { + 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.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('invokes listRegistrationsStream with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.createStream = + stubPageStreamingCall(undefined, expectedError); + const stream = client.listRegistrationsStream(request); + const promise = new Promise((resolve, reject) => { + const responses: protos.google.cloud.domains.v1beta1.Registration[] = + []; + stream.on( + 'data', + (response: protos.google.cloud.domains.v1beta1.Registration) => { + responses.push(response); + } + ); + stream.on('end', () => { + resolve(responses); + }); + stream.on('error', (err: Error) => { + reject(err); + }); + }); + await assert.rejects(promise, expectedError); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .calledWith(client.innerApiCalls.listRegistrations, request) + ); + assert( + (client.descriptors.page.listRegistrations.createStream as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations without error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedResponse = [ + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + generateSampleMessage( + new protos.google.cloud.domains.v1beta1.Registration() + ), + ]; + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(expectedResponse); + const responses: protos.google.cloud.domains.v1beta1.IRegistration[] = []; + const iterable = client.listRegistrationsAsync(request); + for await (const resource of iterable) { + responses.push(resource!); + } + assert.deepStrictEqual(responses, expectedResponse); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + + it('uses async iteration with listRegistrations with error', async () => { + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + const request = generateSampleMessage( + new protos.google.cloud.domains.v1beta1.ListRegistrationsRequest() + ); + const defaultValue1 = getTypeDefaultValue( + '.google.cloud.domains.v1beta1.ListRegistrationsRequest', + ['parent'] + ); + request.parent = defaultValue1; + const expectedHeaderRequestParams = `parent=${defaultValue1}`; + const expectedError = new Error('expected'); + client.descriptors.page.listRegistrations.asyncIterate = + stubAsyncIterationCall(undefined, expectedError); + const iterable = client.listRegistrationsAsync(request); + await assert.rejects(async () => { + const responses: protos.google.cloud.domains.v1beta1.IRegistration[] = + []; + for await (const resource of iterable) { + responses.push(resource!); + } + }); + assert.deepStrictEqual( + ( + client.descriptors.page.listRegistrations.asyncIterate as SinonStub + ).getCall(0).args[1], + request + ); + assert( + (client.descriptors.page.listRegistrations.asyncIterate as SinonStub) + .getCall(0) + .args[2].otherArgs.headers['x-goog-request-params'].includes( + expectedHeaderRequestParams + ) + ); + }); + }); + + describe('Path templates', () => { + describe('location', () => { + const fakePath = '/rendered/path/location'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + }; + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.locationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.locationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('locationPath', () => { + const result = client.locationPath('projectValue', 'locationValue'); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.locationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromLocationName', () => { + const result = client.matchProjectFromLocationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromLocationName', () => { + const result = client.matchLocationFromLocationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.locationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + + describe('registration', () => { + const fakePath = '/rendered/path/registration'; + const expectedParameters = { + project: 'projectValue', + location: 'locationValue', + registration: 'registrationValue', + }; + const client = new domainsModule.v1beta1.DomainsClient({ + credentials: {client_email: 'bogus', private_key: 'bogus'}, + projectId: 'bogus', + }); + client.initialize(); + client.pathTemplates.registrationPathTemplate.render = sinon + .stub() + .returns(fakePath); + client.pathTemplates.registrationPathTemplate.match = sinon + .stub() + .returns(expectedParameters); + + it('registrationPath', () => { + const result = client.registrationPath( + 'projectValue', + 'locationValue', + 'registrationValue' + ); + assert.strictEqual(result, fakePath); + assert( + (client.pathTemplates.registrationPathTemplate.render as SinonStub) + .getCall(-1) + .calledWith(expectedParameters) + ); + }); + + it('matchProjectFromRegistrationName', () => { + const result = client.matchProjectFromRegistrationName(fakePath); + assert.strictEqual(result, 'projectValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchLocationFromRegistrationName', () => { + const result = client.matchLocationFromRegistrationName(fakePath); + assert.strictEqual(result, 'locationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + + it('matchRegistrationFromRegistrationName', () => { + const result = client.matchRegistrationFromRegistrationName(fakePath); + assert.strictEqual(result, 'registrationValue'); + assert( + (client.pathTemplates.registrationPathTemplate.match as SinonStub) + .getCall(-1) + .calledWith(fakePath) + ); + }); + }); + }); +}); diff --git a/packages/google-cloud-domains/tsconfig.json b/packages/google-cloud-domains/tsconfig.json new file mode 100644 index 00000000000..c78f1c884ef --- /dev/null +++ b/packages/google-cloud-domains/tsconfig.json @@ -0,0 +1,19 @@ +{ + "extends": "./node_modules/gts/tsconfig-google.json", + "compilerOptions": { + "rootDir": ".", + "outDir": "build", + "resolveJsonModule": true, + "lib": [ + "es2018", + "dom" + ] + }, + "include": [ + "src/*.ts", + "src/**/*.ts", + "test/*.ts", + "test/**/*.ts", + "system-test/*.ts" + ] +} diff --git a/packages/google-cloud-domains/webpack.config.js b/packages/google-cloud-domains/webpack.config.js new file mode 100644 index 00000000000..871a67bd2d3 --- /dev/null +++ b/packages/google-cloud-domains/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: 'Domains', + filename: './domains.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', +};