diff --git a/packages/google-cloud-channel/.eslintignore b/packages/google-cloud-channel/.eslintignore
new file mode 100644
index 00000000000..ea5b04aebe6
--- /dev/null
+++ b/packages/google-cloud-channel/.eslintignore
@@ -0,0 +1,7 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
+samples/generated/
diff --git a/packages/google-cloud-channel/.eslintrc.json b/packages/google-cloud-channel/.eslintrc.json
new file mode 100644
index 00000000000..78215349546
--- /dev/null
+++ b/packages/google-cloud-channel/.eslintrc.json
@@ -0,0 +1,3 @@
+{
+ "extends": "./node_modules/gts"
+}
diff --git a/packages/google-cloud-channel/.gitattributes b/packages/google-cloud-channel/.gitattributes
new file mode 100644
index 00000000000..33739cb74e4
--- /dev/null
+++ b/packages/google-cloud-channel/.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-channel/.github/.OwlBot.yaml b/packages/google-cloud-channel/.github/.OwlBot.yaml
new file mode 100644
index 00000000000..f0af6f1bd9a
--- /dev/null
+++ b/packages/google-cloud-channel/.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/channel/(.*)/.*-nodejs/(.*)
+ dest: /owl-bot-staging/$1/$2
+
diff --git a/packages/google-cloud-channel/.gitignore b/packages/google-cloud-channel/.gitignore
new file mode 100644
index 00000000000..5d32b23782f
--- /dev/null
+++ b/packages/google-cloud-channel/.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-channel/.jsdoc.js b/packages/google-cloud-channel/.jsdoc.js
new file mode 100644
index 00000000000..40f6e639a6f
--- /dev/null
+++ b/packages/google-cloud-channel/.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/channel',
+ theme: 'lumen',
+ default: {
+ outputSourceFiles: false
+ }
+ },
+ markdown: {
+ idInHeadings: true
+ }
+};
diff --git a/packages/google-cloud-channel/.mocharc.js b/packages/google-cloud-channel/.mocharc.js
new file mode 100644
index 00000000000..0b600509bed
--- /dev/null
+++ b/packages/google-cloud-channel/.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-channel/.nycrc b/packages/google-cloud-channel/.nycrc
new file mode 100644
index 00000000000..b18d5472b62
--- /dev/null
+++ b/packages/google-cloud-channel/.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-channel/.prettierignore b/packages/google-cloud-channel/.prettierignore
new file mode 100644
index 00000000000..9340ad9b86d
--- /dev/null
+++ b/packages/google-cloud-channel/.prettierignore
@@ -0,0 +1,6 @@
+**/node_modules
+**/coverage
+test/fixtures
+build/
+docs/
+protos/
diff --git a/packages/google-cloud-channel/.prettierrc.js b/packages/google-cloud-channel/.prettierrc.js
new file mode 100644
index 00000000000..d1b95106f4c
--- /dev/null
+++ b/packages/google-cloud-channel/.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-channel/.repo-metadata.json b/packages/google-cloud-channel/.repo-metadata.json
new file mode 100644
index 00000000000..e9668771297
--- /dev/null
+++ b/packages/google-cloud-channel/.repo-metadata.json
@@ -0,0 +1,16 @@
+{
+ "client_documentation": "https://cloud.google.com/nodejs/docs/reference/channel/latest",
+ "api_id": "cloudchannel.googleapis.com",
+ "distribution_name": "@google-cloud/channel",
+ "release_level": "stable",
+ "default_version": "v1",
+ "language": "nodejs",
+ "name_pretty": "Cloud Channel API",
+ "repo": "googleapis/nodejs-channel",
+ "product_documentation": "https://cloud.google.com/channel/",
+ "requires_billing": true,
+ "name": "cloudchannel",
+ "issue_tracker": "https://github.com/googleapis/nodejs-channel/issues",
+ "api_shortname": "cloudchannel",
+ "library_type": "GAPIC_AUTO"
+}
diff --git a/packages/google-cloud-channel/CHANGELOG.md b/packages/google-cloud-channel/CHANGELOG.md
new file mode 100644
index 00000000000..9f0dabe6a76
--- /dev/null
+++ b/packages/google-cloud-channel/CHANGELOG.md
@@ -0,0 +1,178 @@
+# Changelog
+
+## [2.2.0](https://github.com/googleapis/nodejs-channel/compare/v2.1.0...v2.2.0) (2022-11-11)
+
+
+### Features
+
+* Add CloudChannelReportsService to CloudChannel API ([56ab14f](https://github.com/googleapis/nodejs-channel/commit/56ab14fcfb242de8a767cb4c52444728404dc5ad))
+* Add deal_code field to message Offer ([#169](https://github.com/googleapis/nodejs-channel/issues/169)) ([56ab14f](https://github.com/googleapis/nodejs-channel/commit/56ab14fcfb242de8a767cb4c52444728404dc5ad))
+
+
+### Bug Fixes
+
+* Allow passing gax instance to client constructor ([#165](https://github.com/googleapis/nodejs-channel/issues/165)) ([f307d9f](https://github.com/googleapis/nodejs-channel/commit/f307d9f9560dc07a8e0c3e36972b1af2519f8aca))
+* Better support for fallback mode ([#160](https://github.com/googleapis/nodejs-channel/issues/160)) ([24e2202](https://github.com/googleapis/nodejs-channel/commit/24e220281861c3a1b4e4ee8931c53c478635ec8f))
+* Change import long to require ([#161](https://github.com/googleapis/nodejs-channel/issues/161)) ([6c79b81](https://github.com/googleapis/nodejs-channel/commit/6c79b81b8957826c264f44b68b972afd80bcbe6d))
+* **deps:** Use google-gax v3.5.2 ([#172](https://github.com/googleapis/nodejs-channel/issues/172)) ([05aa559](https://github.com/googleapis/nodejs-channel/commit/05aa5596a60309fa175b9f20068e722580e2fe42))
+* Do not import the whole google-gax from proto JS ([#1553](https://github.com/googleapis/nodejs-channel/issues/1553)) ([#164](https://github.com/googleapis/nodejs-channel/issues/164)) ([f3c4901](https://github.com/googleapis/nodejs-channel/commit/f3c490112a9ceb5ff8c200290489cdb0fd971054))
+* Preserve default values in x-goog-request-params header ([#166](https://github.com/googleapis/nodejs-channel/issues/166)) ([c04c515](https://github.com/googleapis/nodejs-channel/commit/c04c515049598c1f4353e64e1e94731f8c72324e))
+* Regenerated protos JS and TS definitions ([#175](https://github.com/googleapis/nodejs-channel/issues/175)) ([fbbb62c](https://github.com/googleapis/nodejs-channel/commit/fbbb62c7b3cbaa36129412a7ca9aaa5613817260))
+* Remove pip install statements ([#1546](https://github.com/googleapis/nodejs-channel/issues/1546)) ([#163](https://github.com/googleapis/nodejs-channel/issues/163)) ([a784132](https://github.com/googleapis/nodejs-channel/commit/a78413205e4b7a14897f439c4d37fe2d62a343e2))
+* use google-gax v3.3.0 ([f3c4901](https://github.com/googleapis/nodejs-channel/commit/f3c490112a9ceb5ff8c200290489cdb0fd971054))
+
+## [2.1.0](https://github.com/googleapis/nodejs-channel/compare/v2.0.0...v2.1.0) (2022-06-30)
+
+
+### Features
+
+* support regapic LRO ([#156](https://github.com/googleapis/nodejs-channel/issues/156)) ([2082b3f](https://github.com/googleapis/nodejs-channel/commit/2082b3fdb4b1214ae9a70fa9e575231167a02a06))
+
+## [2.0.0](https://github.com/googleapis/nodejs-channel/compare/v1.7.0...v2.0.0) (2022-05-19)
+
+
+### ⚠ BREAKING CHANGES
+
+* update library to use Node 12 (#149)
+
+### Bug Fixes
+
+* **deps:** update dependency @google-cloud/local-auth to v2 ([#150](https://github.com/googleapis/nodejs-channel/issues/150)) ([bab70db](https://github.com/googleapis/nodejs-channel/commit/bab70db6eb59f73d15f2a80cc99e51b83eb9f1bf))
+
+
+### Build System
+
+* update library to use Node 12 ([#149](https://github.com/googleapis/nodejs-channel/issues/149)) ([7e1f923](https://github.com/googleapis/nodejs-channel/commit/7e1f9233f502af839b00a7fcbb2ca10017c5e026))
+
+## [1.7.0](https://github.com/googleapis/nodejs-channel/compare/v1.6.0...v1.7.0) (2022-05-06)
+
+
+### Features
+
+* Add API definitions for Cloud Channel Repricing APIs ([#142](https://github.com/googleapis/nodejs-channel/issues/142)) ([682993d](https://github.com/googleapis/nodejs-channel/commit/682993da96720de44fb2c705d9636234a75cbeba))
+
+## [1.6.0](https://github.com/googleapis/nodejs-channel/compare/v1.5.0...v1.6.0) (2022-02-05)
+
+
+### Features
+
+* Change description for enum default value ([#120](https://github.com/googleapis/nodejs-channel/issues/120)) ([3b23a95](https://github.com/googleapis/nodejs-channel/commit/3b23a9556ce8fbf17ab5a8bfbd1697f69efcc689))
+* Change description for GCP ProvisionedService.provisioning_id value ([0b364e8](https://github.com/googleapis/nodejs-channel/commit/0b364e808302e058c1c8da24a91ec61a3024af27))
+
+## [1.5.0](https://www.github.com/googleapis/nodejs-channel/compare/v1.4.0...v1.5.0) (2021-10-27)
+
+
+### Features
+
+* add resource type to ChannelPartnerLink ([#103](https://www.github.com/googleapis/nodejs-channel/issues/103)) ([f8d5b31](https://www.github.com/googleapis/nodejs-channel/commit/f8d5b3197062591ce38c2d648412e7c80f0d5fc3))
+
+## [1.4.0](https://www.github.com/googleapis/nodejs-channel/compare/v1.3.0...v1.4.0) (2021-09-07)
+
+
+### Features
+
+* add API ImportCustomer for Cloud Channel API docs: update comments for a few fields ([#89](https://www.github.com/googleapis/nodejs-channel/issues/89)) ([9d34eba](https://www.github.com/googleapis/nodejs-channel/commit/9d34eba73691c71fd219fc6e9faa4e6a6102e1f4))
+
+## [1.3.0](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.6...v1.3.0) (2021-08-23)
+
+
+### Features
+
+* turns on self-signed JWT feature flag ([#85](https://www.github.com/googleapis/nodejs-channel/issues/85)) ([65dae67](https://www.github.com/googleapis/nodejs-channel/commit/65dae67657fc23358570ff6c0ef8fc7dd39c1cb9))
+
+### [1.2.6](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.5...v1.2.6) (2021-08-17)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.24.1 ([#83](https://www.github.com/googleapis/nodejs-channel/issues/83)) ([3bc61ee](https://www.github.com/googleapis/nodejs-channel/commit/3bc61ee644201ed01eb978a646cd95fa8ba9621e))
+
+### [1.2.5](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.4...v1.2.5) (2021-08-11)
+
+
+### Bug Fixes
+
+* **build:** migrate to using main branch ([#81](https://www.github.com/googleapis/nodejs-channel/issues/81)) ([1818a9e](https://www.github.com/googleapis/nodejs-channel/commit/1818a9e5744ddce7799b75d2e094155bb84aa993))
+
+### [1.2.4](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.3...v1.2.4) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#71](https://www.github.com/googleapis/nodejs-channel/issues/71)) ([096ac96](https://www.github.com/googleapis/nodejs-channel/commit/096ac96502d91645cf5c539bc94bcf46599d9533))
+
+### [1.2.4](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.3...v1.2.4) (2021-07-16)
+
+
+### Bug Fixes
+
+* Updating WORKSPACE files to use the newest version of the Typescript generator. ([#71](https://www.github.com/googleapis/nodejs-channel/issues/71)) ([096ac96](https://www.github.com/googleapis/nodejs-channel/commit/096ac96502d91645cf5c539bc94bcf46599d9533))
+
+### [1.2.3](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.2...v1.2.3) (2021-07-12)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.1 ([#69](https://www.github.com/googleapis/nodejs-channel/issues/69)) ([28ec9c7](https://www.github.com/googleapis/nodejs-channel/commit/28ec9c77e2ff3d87a51a6acd82dc0ea09c4a399a))
+
+### [1.2.2](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.1...v1.2.2) (2021-06-29)
+
+
+### Bug Fixes
+
+* **deps:** google-gax v2.17.0 with mTLS ([#66](https://www.github.com/googleapis/nodejs-channel/issues/66)) ([2bb861e](https://www.github.com/googleapis/nodejs-channel/commit/2bb861ecafe3851d97429aca7fdb9dbc47f1c4d5))
+
+### [1.2.1](https://www.github.com/googleapis/nodejs-channel/compare/v1.2.0...v1.2.1) (2021-06-22)
+
+
+### Bug Fixes
+
+* make request optional in all cases ([#60](https://www.github.com/googleapis/nodejs-channel/issues/60)) ([97f7100](https://www.github.com/googleapis/nodejs-channel/commit/97f7100ac2cc40a783ec2bcd5a535f4e5999889d))
+
+## [1.2.0](https://www.github.com/googleapis/nodejs-channel/compare/v1.1.2...v1.2.0) (2021-06-08)
+
+
+### Features
+
+* Add/Update API definitions for Cloud Channel API, including ([#55](https://www.github.com/googleapis/nodejs-channel/issues/55)) ([3db17ba](https://www.github.com/googleapis/nodejs-channel/commit/3db17ba086e1da649e905ba4235c1dc64bd1a883))
+
+### [1.1.2](https://www.github.com/googleapis/nodejs-channel/compare/v1.1.1...v1.1.2) (2021-05-25)
+
+
+### Bug Fixes
+
+* GoogleAdsError missing using generator version after 1.3.0 ([#51](https://www.github.com/googleapis/nodejs-channel/issues/51)) ([107499a](https://www.github.com/googleapis/nodejs-channel/commit/107499a1eec09021e72ad8b1b75f644f6644f8a9))
+
+### [1.1.1](https://www.github.com/googleapis/nodejs-channel/compare/v1.1.0...v1.1.1) (2021-05-12)
+
+
+### Bug Fixes
+
+* **deps:** require google-gax v2.12.0 ([#43](https://www.github.com/googleapis/nodejs-channel/issues/43)) ([542e361](https://www.github.com/googleapis/nodejs-channel/commit/542e361d7f932359b0f793d4d3781be089360de1))
+* use require() to load JSON protos ([#46](https://www.github.com/googleapis/nodejs-channel/issues/46)) ([e6bd7c9](https://www.github.com/googleapis/nodejs-channel/commit/e6bd7c9765f102577a9b3d84c3f8b88b36571df5))
+
+## [1.1.0](https://www.github.com/googleapis/nodejs-channel/compare/v1.0.0...v1.1.0) (2021-03-02)
+
+
+### Features
+
+* add Pub/Sub endpoints for Cloud Channel API ([#11](https://www.github.com/googleapis/nodejs-channel/issues/11)) ([b960424](https://www.github.com/googleapis/nodejs-channel/commit/b9604240d4ec9d4a5dcf897f32bdde9601a9e34a))
+* addition of billing_account field on Plan. docs: clarification that valid address lines are required for all customers. ([#17](https://www.github.com/googleapis/nodejs-channel/issues/17)) ([2aaf1c0](https://www.github.com/googleapis/nodejs-channel/commit/2aaf1c05df23b2c4b833d2d2306f6d91dd6385c8))
+
+
+### Bug Fixes
+
+* **deps:** update dependency google-auth-library to v7 ([#15](https://www.github.com/googleapis/nodejs-channel/issues/15)) ([bf83cd4](https://www.github.com/googleapis/nodejs-channel/commit/bf83cd46b0be42acca06ce413471a82826ad83b8))
+* TransferableSkus field deprecation. Okay to make this change since no clients are using the libraries that were released just last week. The fields were supposed to be deprecated but missed. We have communicated to clients about ([1328ee7](https://www.github.com/googleapis/nodejs-channel/commit/1328ee72f6df6673db77c9aed58a9e5146363c3b))
+
+## 1.0.0 (2021-01-13)
+
+
+### ⚠ BREAKING CHANGES
+
+* initial stub of library
+
+### Features
+
+* initial samples and tests ([#3](https://www.github.com/googleapis/nodejs-channel/issues/3)) ([8b62dff](https://www.github.com/googleapis/nodejs-channel/commit/8b62dff1ef30649bcecadde8e862dce85446a2de))
+* initial stub of library ([ed34624](https://www.github.com/googleapis/nodejs-channel/commit/ed34624b07494fcab099b621d5e60a8c5e107a1d))
diff --git a/packages/google-cloud-channel/CODE_OF_CONDUCT.md b/packages/google-cloud-channel/CODE_OF_CONDUCT.md
new file mode 100644
index 00000000000..2add2547a81
--- /dev/null
+++ b/packages/google-cloud-channel/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-channel/CONTRIBUTING.md b/packages/google-cloud-channel/CONTRIBUTING.md
new file mode 100644
index 00000000000..dcfb85ad300
--- /dev/null
+++ b/packages/google-cloud-channel/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 Channel API 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=cloudchannel.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
\ No newline at end of file
diff --git a/packages/google-cloud-channel/LICENSE b/packages/google-cloud-channel/LICENSE
new file mode 100644
index 00000000000..d6456956733
--- /dev/null
+++ b/packages/google-cloud-channel/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-channel/README.md b/packages/google-cloud-channel/README.md
new file mode 100644
index 00000000000..5c2aae621b4
--- /dev/null
+++ b/packages/google-cloud-channel/README.md
@@ -0,0 +1,247 @@
+[//]: # "This README.md file is auto-generated, all changes to this file will be lost."
+[//]: # "To regenerate it, use `python -m synthtool`."
+
+
+# [Cloud Channel API: Node.js Client](https://github.com/googleapis/nodejs-channel)
+
+[](https://cloud.google.com/terms/launch-stages)
+[](https://www.npmjs.org/package/@google-cloud/channel)
+
+
+
+
+Channel client for Node.js
+
+
+A comprehensive list of changes in each version may be found in
+[the CHANGELOG](https://github.com/googleapis/nodejs-channel/blob/main/CHANGELOG.md).
+
+* [Cloud Channel API Node.js Client API Reference][client-docs]
+* [Cloud Channel API Documentation][product-docs]
+* [github.com/googleapis/nodejs-channel](https://github.com/googleapis/nodejs-channel)
+
+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 Channel API 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/channel
+```
+
+
+### Using the client library
+
+```javascript
+// Reads the secrets from a `oauth2.keys.json` file, which should be downloaded
+// from the Google Developers Console and saved in the same directory with the
+// sample app.
+
+// This sample app only calls read-only methods from the Channel API. Include
+// additional scopes if calling methods that modify the configuration.
+const SCOPES = ['https://www.googleapis.com/auth/apps.order'];
+
+async function listCustomers(authClient, accountNumber) {
+ // Imports the Google Cloud client library
+ const {CloudChannelServiceClient} = require('@google-cloud/channel');
+
+ // Instantiates a client using OAuth2 credentials.
+ const sslCreds = grpc.credentials.createSsl();
+ const credentials = grpc.credentials.combineChannelCredentials(
+ sslCreds,
+ grpc.credentials.createFromGoogleCredential(authClient)
+ );
+
+ // Instantiates a client
+ const client = new CloudChannelServiceClient({
+ sslCreds: credentials,
+ });
+
+ // Calls listCustomers() method
+ const customers = await client.listCustomers({
+ parent: `accounts/${accountNumber}`,
+ });
+ console.info(customers);
+}
+
+/**
+ * Create a new OAuth2Client, and go through the OAuth2 content
+ * workflow. Return the full client to the callback.
+ */
+function getAuthenticatedClient(keys) {
+ return new Promise((resolve, reject) => {
+ // Create an oAuth client to authorize the API call. Secrets are kept in a
+ // `keys.json` file, which should be downloaded from the Google Developers
+ // Console.
+ const oAuth2Client = new OAuth2Client(
+ keys.web.client_id,
+ keys.web.client_secret,
+ // The first redirect URL from the `oauth2.keys.json` file will be used
+ // to generate the OAuth2 callback URL. Update the line below or edit
+ // the redirect URL in the Google Developers Console if needed.
+ // This sample app expects the callback URL to be
+ // 'http://localhost:3000/oauth2callback'
+ keys.web.redirect_uris[0]
+ );
+
+ // Generate the url that will be used for the consent dialog.
+ const authorizeUrl = oAuth2Client.generateAuthUrl({
+ access_type: 'offline',
+ scope: SCOPES.join(' '),
+ });
+
+ // Open an http server to accept the oauth callback. In this example, the
+ // only request to our webserver is to /oauth2callback?code=
+ const server = http
+ .createServer(async (req, res) => {
+ try {
+ if (req.url.indexOf('/oauth2callback') > -1) {
+ // Acquire the code from the querystring, and close the web
+ // server.
+ const qs = new url.URL(req.url, 'http://localhost:3000')
+ .searchParams;
+ const code = qs.get('code');
+ console.log(`Code is ${code}`);
+ res.end('Authentication successful! Please return to the console.');
+ server.destroy();
+
+ // Now that we have the code, use that to acquire tokens.
+ const r = await oAuth2Client.getToken(code);
+ // Make sure to set the credentials on the OAuth2 client.
+ oAuth2Client.setCredentials(r.tokens);
+ console.info('Tokens acquired.');
+ resolve(oAuth2Client);
+ }
+ } catch (e) {
+ reject(e);
+ }
+ })
+ .listen(3000, () => {
+ // Open the browser to the authorize url to start the workflow.
+ // This line will not work if you are running the code in the
+ // environment where a browser is not available. In this case,
+ // copy the URL and open it manually in a browser.
+ console.info(`Opening the browser with URL: ${authorizeUrl}`);
+ open(authorizeUrl, {wait: false}).then(cp => cp.unref());
+ });
+ destroyer(server);
+ });
+}
+
+async function main(accountNumber, keys) {
+ // TODO: uncomment with your account number
+ // const accountNumber = '1234'
+
+ // TODO: uncomment this line with your oAuth2 file
+ //const keys = require('./oauth2.keys.json');
+
+ getAuthenticatedClient(keys).then(authClient =>
+ listCustomers(authClient, accountNumber)
+ );
+}
+
+```
+
+
+
+## Samples
+
+Samples are in the [`samples/`](https://github.com/googleapis/nodejs-channel/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-channel/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-channel&page=editor&open_in_editor=samples/quickstart.js,samples/README.md) |
+
+
+
+The [Cloud Channel API 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/channel@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-channel/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-channel/blob/main/LICENSE)
+
+[client-docs]: https://cloud.google.com/nodejs/docs/reference/channel/latest
+[product-docs]: https://cloud.google.com/channel/
+[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=cloudchannel.googleapis.com
+[auth]: https://cloud.google.com/docs/authentication/getting-started
diff --git a/packages/google-cloud-channel/linkinator.config.json b/packages/google-cloud-channel/linkinator.config.json
new file mode 100644
index 00000000000..befd23c8633
--- /dev/null
+++ b/packages/google-cloud-channel/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-channel/package.json b/packages/google-cloud-channel/package.json
new file mode 100644
index 00000000000..f70d9ec829f
--- /dev/null
+++ b/packages/google-cloud-channel/package.json
@@ -0,0 +1,66 @@
+{
+ "name": "@google-cloud/channel",
+ "version": "2.2.0",
+ "description": "Channel client for Node.js",
+ "repository": "googleapis/nodejs-channel",
+ "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 channel",
+ "channel",
+ "cloud channel service"
+ ],
+ "scripts": {
+ "clean": "gts clean",
+ "compile": "tsc -p . && cp -r protos build/",
+ "compile-protos": "compileProtos src",
+ "docs": "jsdoc -c .jsdoc.js",
+ "predocs-test": "npm run docs",
+ "docs-test": "linkinator docs",
+ "fix": "gts fix",
+ "lint": "gts check",
+ "prepare": "npm run compile-protos && npm run compile",
+ "system-test": "c8 mocha build/system-test",
+ "test": "c8 mocha build/test",
+ "samples-test": "cd samples/ && npm link ../ && npm test",
+ "prelint": "cd samples; npm link ../; npm i"
+ },
+ "dependencies": {
+ "google-gax": "^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-channel/protos/google/cloud/channel/v1/channel_partner_links.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/channel_partner_links.proto
new file mode 100644
index 00000000000..fb301586ea8
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/channel_partner_links.proto
@@ -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
+//
+// 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.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/channel/v1/common.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "ChannelPartnerLinksProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// The level of granularity the [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] will display.
+enum ChannelPartnerLinkView {
+ // The default / unset value.
+ // The API will default to the BASIC view.
+ UNSPECIFIED = 0;
+
+ // Includes all fields except the
+ // [ChannelPartnerLink.channel_partner_cloud_identity_info][google.cloud.channel.v1.ChannelPartnerLink.channel_partner_cloud_identity_info].
+ BASIC = 1;
+
+ // Includes all fields.
+ FULL = 2;
+}
+
+// ChannelPartnerLinkState represents state of a channel partner link.
+enum ChannelPartnerLinkState {
+ // Not used.
+ CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED = 0;
+
+ // An invitation has been sent to the reseller to create a channel partner
+ // link.
+ INVITED = 1;
+
+ // Status when the reseller is active.
+ ACTIVE = 2;
+
+ // Status when the reseller has been revoked by the distributor.
+ REVOKED = 3;
+
+ // Status when the reseller is suspended by Google or distributor.
+ SUSPENDED = 4;
+}
+
+// Entity representing a link between distributors and their indirect
+// resellers in an n-tier resale channel.
+message ChannelPartnerLink {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerLink"
+ pattern: "accounts/{account}/channelPartnerLinks/{channel_partner_link}"
+ };
+
+ // Output only. Resource name for the channel partner link, in the format
+ // accounts/{account_id}/channelPartnerLinks/{id}.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Cloud Identity ID of the linked reseller.
+ string reseller_cloud_identity_id = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. State of the channel partner link.
+ ChannelPartnerLinkState link_state = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. URI of the web page where partner accepts the link invitation.
+ string invite_link_uri = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp of when the channel partner link is created.
+ google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Timestamp of when the channel partner link is updated.
+ google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Public identifier that a customer must use to generate a transfer token
+ // to move to this distributor-reseller combination.
+ string public_id = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Cloud Identity info of the channel partner (IR).
+ CloudIdentityInfo channel_partner_cloud_identity_info = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/common.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/common.proto
new file mode 100644
index 00000000000..175d044e63b
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/common.proto
@@ -0,0 +1,152 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/protobuf/any.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "CommonProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Required Edu Attributes
+message EduData {
+ // Enum to specify the institute type.
+ enum InstituteType {
+ // Not used.
+ INSTITUTE_TYPE_UNSPECIFIED = 0;
+
+ // Elementary/Secondary Schools & Districts
+ K12 = 1;
+
+ // Higher Education Universities & Colleges
+ UNIVERSITY = 2;
+ }
+
+ // Number of students and staff the institute has.
+ enum InstituteSize {
+ // Not used.
+ INSTITUTE_SIZE_UNSPECIFIED = 0;
+
+ // 1 - 100
+ SIZE_1_100 = 1;
+
+ // 101 - 500
+ SIZE_101_500 = 2;
+
+ // 501 - 1,000
+ SIZE_501_1000 = 3;
+
+ // 1,001 - 2,000
+ SIZE_1001_2000 = 4;
+
+ // 2,001 - 5,000
+ SIZE_2001_5000 = 5;
+
+ // 5,001 - 10,000
+ SIZE_5001_10000 = 6;
+
+ // 10,001 +
+ SIZE_10001_OR_MORE = 7;
+ }
+
+ // Designated institute type of customer.
+ InstituteType institute_type = 1;
+
+ // Size of the institute.
+ InstituteSize institute_size = 2;
+
+ // Web address for the edu customer's institution.
+ string website = 3;
+}
+
+// Cloud Identity information for the Cloud Channel Customer.
+message CloudIdentityInfo {
+ // CustomerType of the customer
+ enum CustomerType {
+ // Not used.
+ CUSTOMER_TYPE_UNSPECIFIED = 0;
+
+ // Domain-owning customer which needs domain verification to use services.
+ DOMAIN = 1;
+
+ // Team customer which needs email verification to use services.
+ TEAM = 2;
+ }
+
+ // CustomerType indicates verification type needed for using services.
+ CustomerType customer_type = 1;
+
+ // Output only. The primary domain name.
+ string primary_domain = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Whether the domain is verified.
+ // This field is not returned for a Customer's cloud_identity_info resource.
+ // Partners can use the domains.get() method of the Workspace SDK's
+ // Directory API, or listen to the PRIMARY_DOMAIN_VERIFIED Pub/Sub event in
+ // to track domain verification of their resolve Workspace customers.
+ bool is_domain_verified = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The alternate email.
+ string alternate_email = 6;
+
+ // Phone number associated with the Cloud Identity.
+ string phone_number = 7;
+
+ // Language code.
+ string language_code = 8;
+
+ // Output only. URI of Customer's Admin console dashboard.
+ string admin_console_uri = 10 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Edu information about the customer.
+ EduData edu_data = 22;
+}
+
+// Data type and value of a parameter.
+message Value {
+ // The kind of value.
+ oneof kind {
+ // Represents an int64 value.
+ int64 int64_value = 1;
+
+ // Represents a string value.
+ string string_value = 2;
+
+ // Represents a double value.
+ double double_value = 3;
+
+ // Represents an 'Any' proto value.
+ google.protobuf.Any proto_value = 4;
+
+ // Represents a boolean value.
+ bool bool_value = 5;
+ }
+}
+
+// Information needed to create an Admin User for Google Workspace.
+message AdminUser {
+ // Primary email of the admin user.
+ string email = 1;
+
+ // Given name of the admin user.
+ string given_name = 2;
+
+ // Family name of the admin user.
+ string family_name = 3;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/customers.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/customers.proto
new file mode 100644
index 00000000000..e34432f2e67
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/customers.proto
@@ -0,0 +1,110 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/channel/v1/common.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/postal_address.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "CustomersProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Entity representing a customer of a reseller or distributor.
+message Customer {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ pattern: "accounts/{account}/customers/{customer}"
+ };
+
+ // Output only. Resource name of the customer.
+ // Format: accounts/{account_id}/customers/{customer_id}
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. Name of the organization that the customer entity represents.
+ string org_display_name = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The organization address for the customer. To enforce US laws and
+ // embargoes, we require a region and zip code. You must provide valid
+ // addresses for every customer. To set the customer's language, use the
+ // Customer-level language code.
+ google.type.PostalAddress org_postal_address = 3 [(google.api.field_behavior) = REQUIRED];
+
+ // Primary contact info.
+ ContactInfo primary_contact_info = 4;
+
+ // Secondary contact email. You need to provide an alternate email to create
+ // different domains if a primary contact email already exists. Users will
+ // receive a notification with credentials when you create an admin.google.com
+ // account. Secondary emails are also recovery email addresses. Alternate
+ // emails are optional when you create Team customers.
+ string alternate_email = 5;
+
+ // Required. The customer's primary domain. Must match the primary contact
+ // email's domain.
+ string domain = 6 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Time when the customer was created.
+ google.protobuf.Timestamp create_time = 7 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Time when the customer was updated.
+ google.protobuf.Timestamp update_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The customer's Cloud Identity ID if the customer has a Cloud
+ // Identity resource.
+ string cloud_identity_id = 9 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. The BCP-47 language code, such as "en-US" or "sr-Latn". For more
+ // information, see
+ // https://www.unicode.org/reports/tr35/#Unicode_locale_identifier.
+ string language_code = 10 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Cloud Identity information for the customer.
+ // Populated only if a Cloud Identity account exists for this customer.
+ CloudIdentityInfo cloud_identity_info = 12 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Cloud Identity ID of the customer's channel partner.
+ // Populated only if a channel partner exists for this customer.
+ string channel_partner_id = 13;
+}
+
+// Contact information for a customer account.
+message ContactInfo {
+ // The customer account contact's first name. Optional for Team customers.
+ string first_name = 1;
+
+ // The customer account contact's last name. Optional for Team customers.
+ string last_name = 2;
+
+ // Output only. The customer account contact's display name, formatted as a
+ // combination of the customer's first and last name.
+ string display_name = 4 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // The customer account's contact email. Required for entitlements that create
+ // admin.google.com accounts, and serves as the customer's username for those
+ // accounts. Use this email to invite Team customers.
+ string email = 5;
+
+ // Optional. The customer account contact's job title.
+ string title = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // The customer account's contact phone number.
+ string phone = 7;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/entitlements.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/entitlements.proto
new file mode 100644
index 00000000000..35da239384e
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/entitlements.proto
@@ -0,0 +1,250 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/channel/v1/common.proto";
+import "google/cloud/channel/v1/offers.proto";
+import "google/cloud/channel/v1/products.proto";
+import "google/protobuf/timestamp.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "EntitlementsProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// An entitlement is a representation of a customer's ability to use a service.
+message Entitlement {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ pattern: "accounts/{account}/customers/{customer}/entitlements/{entitlement}"
+ };
+
+ // Indicates the current provisioning state of the entitlement.
+ enum ProvisioningState {
+ // Not used.
+ PROVISIONING_STATE_UNSPECIFIED = 0;
+
+ // The entitlement is currently active.
+ ACTIVE = 1;
+
+ // The entitlement is currently suspended.
+ SUSPENDED = 5;
+ }
+
+ // Suspension reason for an entitlement if [provisioning_state][google.cloud.channel.v1.Entitlement.provisioning_state] = SUSPENDED.
+ enum SuspensionReason {
+ // Not used.
+ SUSPENSION_REASON_UNSPECIFIED = 0;
+
+ // Entitlement was manually suspended by the Reseller.
+ RESELLER_INITIATED = 1;
+
+ // Trial ended.
+ TRIAL_ENDED = 2;
+
+ // Entitlement renewal was canceled.
+ RENEWAL_WITH_TYPE_CANCEL = 3;
+
+ // Entitlement was automatically suspended on creation for pending ToS
+ // acceptance on customer.
+ PENDING_TOS_ACCEPTANCE = 4;
+
+ // Other reasons (internal reasons, abuse, etc.).
+ OTHER = 100;
+ }
+
+ // Output only. Resource name of an entitlement in the form:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which the entitlement is created.
+ google.protobuf.Timestamp create_time = 5 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The time at which the entitlement is updated.
+ google.protobuf.Timestamp update_time = 6 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The offer resource name for which the entitlement is to be
+ // created. Takes the form: accounts/{account_id}/offers/{offer_id}.
+ string offer = 8 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Offer"
+ }
+ ];
+
+ // Commitment settings for a commitment-based Offer.
+ // Required for commitment based offers.
+ CommitmentSettings commitment_settings = 12;
+
+ // Output only. Current provisioning state of the entitlement.
+ ProvisioningState provisioning_state = 13 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Service provisioning details for the entitlement.
+ ProvisionedService provisioned_service = 16 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Enumerable of all current suspension reasons for an entitlement.
+ repeated SuspensionReason suspension_reasons = 18 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. This purchase order (PO) information is for resellers to use for their
+ // company tracking usage. If a purchaseOrderId value is given, it appears in
+ // the API responses and shows up in the invoice. The property accepts up to
+ // 80 plain text characters. This is only supported for Google Workspace
+ // entitlements.
+ string purchase_order_id = 19 [(google.api.field_behavior) = OPTIONAL];
+
+ // Output only. Settings for trial offers.
+ TrialSettings trial_settings = 21 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Association information to other entitlements.
+ AssociationInfo association_info = 23;
+
+ // Extended entitlement parameters. When creating an entitlement, valid
+ // parameter names and values are defined in the
+ // [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions].
+ //
+ // The response may include the following output-only Parameters:
+ //
+ // - assigned_units: The number of licenses assigned to users.
+ //
+ // - max_units: The maximum assignable units for a flexible offer.
+ //
+ // - num_units: The total commitment for commitment-based offers.
+ repeated Parameter parameters = 26;
+}
+
+// Definition for extended entitlement parameters.
+message Parameter {
+ // Name of the parameter.
+ string name = 1;
+
+ // Value of the parameter.
+ Value value = 2;
+
+ // Output only. Specifies whether this parameter is allowed to be changed. For example, for
+ // a Google Workspace Business Starter entitlement in commitment plan,
+ // num_units is editable when entitlement is active.
+ bool editable = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Association links that an entitlement has to other entitlements.
+message AssociationInfo {
+ // The name of the base entitlement, for which this entitlement is an add-on.
+ string base_entitlement = 1 [(google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ }];
+}
+
+// Service provisioned for an entitlement.
+message ProvisionedService {
+ // Output only. Provisioning ID of the entitlement. For Google Workspace, this is the
+ // underlying Subscription ID. For Google Cloud Platform, this is the
+ // Billing Account ID of the billing subaccount."
+ string provisioning_id = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The product pertaining to the provisioning resource as specified in the
+ // Offer.
+ string product_id = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. The SKU pertaining to the provisioning resource as specified in the Offer.
+ string sku_id = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Commitment settings for commitment-based offers.
+message CommitmentSettings {
+ // Output only. Commitment start timestamp.
+ google.protobuf.Timestamp start_time = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Output only. Commitment end timestamp.
+ google.protobuf.Timestamp end_time = 2 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Optional. Renewal settings applicable for a commitment-based Offer.
+ RenewalSettings renewal_settings = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Renewal settings for renewable Offers.
+message RenewalSettings {
+ // If false, the plan will be completed at the end date.
+ bool enable_renewal = 1;
+
+ // If true and enable_renewal = true, the unit (for example seats or licenses)
+ // will be set to the number of active units at renewal time.
+ bool resize_unit_count = 2;
+
+ // Describes how a reseller will be billed.
+ PaymentPlan payment_plan = 5;
+
+ // Describes how frequently the reseller will be billed, such as
+ // once per month.
+ Period payment_cycle = 6;
+}
+
+// Settings for trial offers.
+message TrialSettings {
+ // Determines if the entitlement is in a trial or not:
+ //
+ // * `true` - The entitlement is in trial.
+ // * `false` - The entitlement is not in trial.
+ bool trial = 1;
+
+ // Date when the trial ends. The value is in milliseconds
+ // using the UNIX Epoch format. See an example [Epoch
+ // converter](https://www.epochconverter.com).
+ google.protobuf.Timestamp end_time = 2;
+}
+
+// TransferableSku represents information a reseller needs to view existing
+// provisioned services for a customer that they do not own.
+// Read-only.
+message TransferableSku {
+ // Describes the transfer eligibility of a SKU.
+ TransferEligibility transfer_eligibility = 9;
+
+ // The SKU pertaining to the provisioning resource as specified in the Offer.
+ Sku sku = 11;
+
+ // Optional. The customer to transfer has an entitlement with the populated legacy SKU.
+ Sku legacy_sku = 12 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Specifies transfer eligibility of a SKU.
+message TransferEligibility {
+ // Reason of ineligibility.
+ enum Reason {
+ // Not used.
+ REASON_UNSPECIFIED = 0;
+
+ // Reseller needs to accept TOS before transferring the SKU.
+ PENDING_TOS_ACCEPTANCE = 1;
+
+ // Reseller not eligible to sell the SKU.
+ SKU_NOT_ELIGIBLE = 2;
+
+ // SKU subscription is suspended
+ SKU_SUSPENDED = 3;
+ }
+
+ // Whether reseller is eligible to transfer the SKU.
+ bool is_eligible = 1;
+
+ // Localized description if reseller is not eligible to transfer the SKU.
+ string description = 2;
+
+ // Specified the reason for ineligibility.
+ Reason ineligibility_reason = 3;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/offers.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/offers.proto
new file mode 100644
index 00000000000..ebe698e1f54
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/offers.proto
@@ -0,0 +1,329 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/channel/v1/common.proto";
+import "google/cloud/channel/v1/products.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/money.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "OffersProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Constraints type for Promotional offers.
+enum PromotionalOrderType {
+ // Not used.
+ PROMOTIONAL_TYPE_UNSPECIFIED = 0;
+
+ // Order used for new customers, trial conversions and upgrades.
+ NEW_UPGRADE = 1;
+
+ // All orders for transferring an existing customer.
+ TRANSFER = 2;
+
+ // Orders for modifying an existing customer's promotion on the same SKU.
+ PROMOTION_SWITCH = 3;
+}
+
+// Describes how the reseller will be billed.
+enum PaymentPlan {
+ // Not used.
+ PAYMENT_PLAN_UNSPECIFIED = 0;
+
+ // Commitment.
+ COMMITMENT = 1;
+
+ // No commitment.
+ FLEXIBLE = 2;
+
+ // Free.
+ FREE = 3;
+
+ // Trial.
+ TRIAL = 4;
+
+ // Price and ordering not available through API.
+ OFFLINE = 5;
+}
+
+// Specifies when the payment needs to happen.
+enum PaymentType {
+ // Not used.
+ PAYMENT_TYPE_UNSPECIFIED = 0;
+
+ // Prepay. Amount has to be paid before service is rendered.
+ PREPAY = 1;
+
+ // Postpay. Reseller is charged at the end of the Payment cycle.
+ POSTPAY = 2;
+}
+
+// Represents the type for a monetizable resource(any entity on which billing
+// happens). For example, this could be MINUTES for Google Voice and GB for
+// Google Drive. One SKU can map to multiple monetizable resources.
+enum ResourceType {
+ // Not used.
+ RESOURCE_TYPE_UNSPECIFIED = 0;
+
+ // Seat.
+ SEAT = 1;
+
+ // Monthly active user.
+ MAU = 2;
+
+ // GB (used for storage SKUs).
+ GB = 3;
+
+ // Active licensed users(for Voice SKUs).
+ LICENSED_USER = 4;
+
+ // Voice usage.
+ MINUTES = 5;
+
+ // For IaaS SKUs like Google Cloud Platform, monetization is based on usage
+ // accrued on your billing account irrespective of the type of monetizable
+ // resource. This enum represents an aggregated resource/container for all
+ // usage SKUs on a billing account. Currently, only applicable to Google Cloud
+ // Platform.
+ IAAS_USAGE = 6;
+
+ // For Google Cloud Platform subscriptions like Anthos or SAP.
+ SUBSCRIPTION = 7;
+}
+
+// Period Type.
+enum PeriodType {
+ // Not used.
+ PERIOD_TYPE_UNSPECIFIED = 0;
+
+ // Day.
+ DAY = 1;
+
+ // Month.
+ MONTH = 2;
+
+ // Year.
+ YEAR = 3;
+}
+
+// Represents an offer made to resellers for purchase.
+// An offer is associated with a [Sku][google.cloud.channel.v1.Sku], has a plan for payment, a price, and
+// defines the constraints for buying.
+message Offer {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Offer"
+ pattern: "accounts/{account}/offers/{offer}"
+ };
+
+ // Resource Name of the Offer.
+ // Format: accounts/{account_id}/offers/{offer_id}
+ string name = 1;
+
+ // Marketing information for the Offer.
+ MarketingInfo marketing_info = 2;
+
+ // SKU the offer is associated with.
+ Sku sku = 3;
+
+ // Describes the payment plan for the Offer.
+ Plan plan = 4;
+
+ // Constraints on transacting the Offer.
+ Constraints constraints = 5;
+
+ // Price for each monetizable resource type.
+ repeated PriceByResource price_by_resources = 6;
+
+ // Start of the Offer validity time.
+ google.protobuf.Timestamp start_time = 7;
+
+ // Output only. End of the Offer validity time.
+ google.protobuf.Timestamp end_time = 8 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Parameters required to use current Offer to purchase.
+ repeated ParameterDefinition parameter_definitions = 9;
+
+ // The deal code of the offer to get a special promotion or discount.
+ string deal_code = 12;
+}
+
+// Parameter's definition. Specifies what parameter is required to use the
+// current Offer to purchase.
+message ParameterDefinition {
+ // Data type of the parameter.
+ enum ParameterType {
+ // Not used.
+ PARAMETER_TYPE_UNSPECIFIED = 0;
+
+ // Int64 type.
+ INT64 = 1;
+
+ // String type.
+ STRING = 2;
+
+ // Double type.
+ DOUBLE = 3;
+ }
+
+ // Name of the parameter.
+ string name = 1;
+
+ // Data type of the parameter. Minimal value, Maximum value and allowed values
+ // will use specified data type here.
+ ParameterType parameter_type = 2;
+
+ // Minimal value of the parameter, if applicable. Inclusive. For example,
+ // minimal commitment when purchasing Anthos is 0.01.
+ // Applicable to INT64 and DOUBLE parameter types.
+ Value min_value = 3;
+
+ // Maximum value of the parameter, if applicable. Inclusive. For example,
+ // maximum seats when purchasing Google Workspace Business Standard.
+ // Applicable to INT64 and DOUBLE parameter types.
+ Value max_value = 4;
+
+ // If not empty, parameter values must be drawn from this list.
+ // For example, [us-west1, us-west2, ...]
+ // Applicable to STRING parameter type.
+ repeated Value allowed_values = 5;
+
+ // If set to true, parameter is optional to purchase this Offer.
+ bool optional = 6;
+}
+
+// Represents the constraints for buying the Offer.
+message Constraints {
+ // Represents constraints required to purchase the Offer for a customer.
+ CustomerConstraints customer_constraints = 1;
+}
+
+// Represents constraints required to purchase the Offer for a customer.
+message CustomerConstraints {
+ // Allowed geographical regions of the customer.
+ repeated string allowed_regions = 1;
+
+ // Allowed Customer Type.
+ repeated CloudIdentityInfo.CustomerType allowed_customer_types = 2;
+
+ // Allowed Promotional Order Type. Present for Promotional offers.
+ repeated PromotionalOrderType promotional_order_types = 3;
+}
+
+// The payment plan for the Offer. Describes how to make a payment.
+message Plan {
+ // Describes how a reseller will be billed.
+ PaymentPlan payment_plan = 1;
+
+ // Specifies when the payment needs to happen.
+ PaymentType payment_type = 2;
+
+ // Describes how frequently the reseller will be billed, such as
+ // once per month.
+ Period payment_cycle = 3;
+
+ // Present for Offers with a trial period.
+ // For trial-only Offers, a paid service needs to start before the trial
+ // period ends for continued service.
+ // For Regular Offers with a trial period, the regular pricing goes into
+ // effect when trial period ends, or if paid service is started before the end
+ // of the trial period.
+ Period trial_period = 4;
+
+ // Reseller Billing account to charge after an offer transaction.
+ // Only present for Google Cloud Platform offers.
+ string billing_account = 5;
+}
+
+// Represents price by resource type.
+message PriceByResource {
+ // Resource Type. Example: SEAT
+ ResourceType resource_type = 1;
+
+ // Price of the Offer. Present if there are no price phases.
+ Price price = 2;
+
+ // Specifies the price by time range.
+ repeated PricePhase price_phases = 3;
+}
+
+// Represents the price of the Offer.
+message Price {
+ // Base price.
+ google.type.Money base_price = 1;
+
+ // Discount percentage, represented as decimal.
+ // For example, a 20% discount will be represent as 0.2.
+ double discount = 2;
+
+ // Effective Price after applying the discounts.
+ google.type.Money effective_price = 3;
+
+ // Link to external price list, such as link to Google Voice rate card.
+ string external_price_uri = 4;
+}
+
+// Specifies the price by the duration of months.
+// For example, a 20% discount for the first six months, then a 10% discount
+// starting on the seventh month.
+message PricePhase {
+ // Defines the phase period type.
+ PeriodType period_type = 1;
+
+ // Defines first period for the phase.
+ int32 first_period = 2;
+
+ // Defines first period for the phase.
+ int32 last_period = 3;
+
+ // Price of the phase. Present if there are no price tiers.
+ Price price = 4;
+
+ // Price by the resource tiers.
+ repeated PriceTier price_tiers = 5;
+}
+
+// Defines price at resource tier level.
+// For example, an offer with following definition :
+//
+// * Tier 1: Provide 25% discount for all seats between 1 and 25.
+// * Tier 2: Provide 10% discount for all seats between 26 and 100.
+// * Tier 3: Provide flat 15% discount for all seats above 100.
+//
+// Each of these tiers is represented as a PriceTier.
+message PriceTier {
+ // First resource for which the tier price applies.
+ int32 first_resource = 1;
+
+ // Last resource for which the tier price applies.
+ int32 last_resource = 2;
+
+ // Price of the tier.
+ Price price = 3;
+}
+
+// Represents period in days/months/years.
+message Period {
+ // Total duration of Period Type defined.
+ int32 duration = 1;
+
+ // Period Type.
+ PeriodType period_type = 2;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/operations.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/operations.proto
new file mode 100644
index 00000000000..ad432919bf7
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/operations.proto
@@ -0,0 +1,67 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "OperationsProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Provides contextual information about a [google.longrunning.Operation][google.longrunning.Operation].
+message OperationMetadata {
+ // RPCs that return a Long Running Operation.
+ enum OperationType {
+ // Not used.
+ OPERATION_TYPE_UNSPECIFIED = 0;
+
+ // Long Running Operation was triggered by CreateEntitlement.
+ CREATE_ENTITLEMENT = 1;
+
+ // Long Running Operation was triggered by ChangeRenewalSettings.
+ CHANGE_RENEWAL_SETTINGS = 3;
+
+ // Long Running Operation was triggered by StartPaidService.
+ START_PAID_SERVICE = 5;
+
+ // Long Running Operation was triggered by ActivateEntitlement.
+ ACTIVATE_ENTITLEMENT = 7;
+
+ // Long Running Operation was triggered by SuspendEntitlement.
+ SUSPEND_ENTITLEMENT = 8;
+
+ // Long Running Operation was triggered by CancelEntitlement.
+ CANCEL_ENTITLEMENT = 9;
+
+ // Long Running Operation was triggered by TransferEntitlements.
+ TRANSFER_ENTITLEMENTS = 10;
+
+ // Long Running Operation was triggered by TransferEntitlementsToGoogle.
+ TRANSFER_ENTITLEMENTS_TO_GOOGLE = 11;
+
+ // Long Running Operation was triggered by ChangeOffer.
+ CHANGE_OFFER = 14;
+
+ // Long Running Operation was triggered by ChangeParameters.
+ CHANGE_PARAMETERS = 15;
+
+ // Long Running Operation was triggered by ProvisionCloudIdentity.
+ PROVISION_CLOUD_IDENTITY = 16;
+ }
+
+ // The RPC that initiated this Long Running Operation.
+ OperationType operation_type = 1;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/products.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/products.proto
new file mode 100644
index 00000000000..8dc39767a96
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/products.proto
@@ -0,0 +1,94 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "ProductsProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Type of media used.
+enum MediaType {
+ // Not used.
+ MEDIA_TYPE_UNSPECIFIED = 0;
+
+ // Type of image.
+ MEDIA_TYPE_IMAGE = 1;
+}
+
+// A Product is the entity a customer uses when placing an order. For example,
+// Google Workspace, Google Voice, etc.
+message Product {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Product"
+ pattern: "products/{product}"
+ };
+
+ // Resource Name of the Product.
+ // Format: products/{product_id}
+ string name = 1;
+
+ // Marketing information for the product.
+ MarketingInfo marketing_info = 2;
+}
+
+// Represents a product's purchasable Stock Keeping Unit (SKU).
+// SKUs represent the different variations of the product. For example, Google
+// Workspace Business Standard and Google Workspace Business Plus are Google
+// Workspace product SKUs.
+message Sku {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Sku"
+ pattern: "products/{product}/skus/{sku}"
+ };
+
+ // Resource Name of the SKU.
+ // Format: products/{product_id}/skus/{sku_id}
+ string name = 1;
+
+ // Marketing information for the SKU.
+ MarketingInfo marketing_info = 2;
+
+ // Product the SKU is associated with.
+ Product product = 3;
+}
+
+// Represents the marketing information for a Product, SKU or Offer.
+message MarketingInfo {
+ // Human readable name.
+ string display_name = 1;
+
+ // Human readable description. Description can contain HTML.
+ string description = 2;
+
+ // Default logo.
+ Media default_logo = 3;
+}
+
+// Represents media information.
+message Media {
+ // Title of the media.
+ string title = 1;
+
+ // URL of the media.
+ string content = 2;
+
+ // Type of the media.
+ MediaType type = 3;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/reports_service.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/reports_service.proto
new file mode 100644
index 00000000000..464061766cf
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/reports_service.proto
@@ -0,0 +1,425 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/date.proto";
+import "google/type/datetime.proto";
+import "google/type/decimal.proto";
+import "google/type/money.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "ReportsServiceProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// CloudChannelReportsService lets Google Cloud resellers and
+// distributors retrieve and combine a variety of data in Cloud Channel for
+// multiple products (Google Cloud Platform (GCP), Google Voice, and
+// Google Workspace.)
+service CloudChannelReportsService {
+ option (google.api.default_host) = "cloudchannel.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/apps.reports.usage.readonly";
+
+ // Begins generation of data for a given report. The report
+ // identifier is a UID (for example, `613bf59q`).
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The user doesn't have access to this report.
+ // * INVALID_ARGUMENT: Required request parameters are missing
+ // or invalid.
+ // * NOT_FOUND: The report identifier was not found.
+ // * INTERNAL: Any non-user error related to a technical issue
+ // in the backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue
+ // in the backend. Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata contains an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ //
+ // To get the results of report generation, call
+ // [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults] with the
+ // [RunReportJobResponse.report_job][google.cloud.channel.v1.RunReportJobResponse.report_job].
+ rpc RunReportJob(RunReportJobRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/reports/*}:run"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "RunReportJobResponse"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Retrieves data generated by [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob].
+ rpc FetchReportResults(FetchReportResultsRequest) returns (FetchReportResultsResponse) {
+ option (google.api.http) = {
+ post: "/v1/{report_job=accounts/*/reportJobs/*}:fetchReportResults"
+ body: "*"
+ };
+ option (google.api.method_signature) = "report_job";
+ }
+
+ // Lists the reports that RunReportJob can run. These reports include an ID,
+ // a description, and the list of columns that will be in the result.
+ rpc ListReports(ListReportsRequest) returns (ListReportsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*}/reports"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+}
+
+// Request message for [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob].
+message RunReportJobRequest {
+ // Required. The report's resource name. Specifies the account and report used to
+ // generate report data. The report_id identifier is a UID (for example,
+ // `613bf59q`).
+ // Name uses the format:
+ // accounts/{account_id}/reports/{report_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Report"
+ }
+ ];
+
+ // Optional. The range of usage or invoice dates to include in the result.
+ DateRange date_range = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A structured string that defines conditions on dimension columns to
+ // restrict the report output.
+ //
+ // Filters support logical operators (AND, OR, NOT) and conditional operators
+ // (=, !=, <, >, <=, and >=) using `column_id` as keys.
+ //
+ // For example:
+ // `(customer:"accounts/C123abc/customers/S456def" OR
+ // customer:"accounts/C123abc/customers/S789ghi") AND
+ // invoice_start_date.year >= 2022`
+ string filter = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code, such as "en-US". If specified, the
+ // response is localized to the corresponding language code if the
+ // original data sources support it.
+ // Default is "en-US".
+ string language_code = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob].
+message RunReportJobResponse {
+ // Pass `report_job.name` to [FetchReportResultsRequest.report_job][google.cloud.channel.v1.FetchReportResultsRequest.report_job]
+ // to retrieve the report's results.
+ ReportJob report_job = 1;
+
+ // The metadata for the report's results (display name, columns, row count,
+ // and date range). If you view this before the operation finishes,
+ // you may see incomplete data.
+ ReportResultsMetadata report_metadata = 2;
+}
+
+// Request message for [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults].
+message FetchReportResultsRequest {
+ // Required. The report job created by [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob].
+ // Report_job uses the format:
+ // accounts/{account_id}/reportJobs/{report_job_id}
+ string report_job = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/ReportJob"
+ }
+ ];
+
+ // Optional. Requested page size of the report. The server may return fewer results than
+ // requested. If you don't specify a page size, the server uses a sensible
+ // default (may change over time).
+ //
+ // The maximum value is 30,000; the server will change larger values to
+ // 30,000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token that specifies a page of results beyond the first page.
+ // Obtained through
+ // [FetchReportResultsResponse.next_page_token][google.cloud.channel.v1.FetchReportResultsResponse.next_page_token] of the previous
+ // [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults].
+// Contains a tabular representation of the report results.
+message FetchReportResultsResponse {
+ // The metadata for the report results (display name, columns, row count, and
+ // date ranges).
+ ReportResultsMetadata report_metadata = 1;
+
+ // The report's lists of values. Each row follows the settings and ordering
+ // of the columns from `report_metadata`.
+ repeated Row rows = 2;
+
+ // Pass this token to [FetchReportResultsRequest.page_token][google.cloud.channel.v1.FetchReportResultsRequest.page_token] to retrieve
+ // the next page of results.
+ string next_page_token = 3;
+}
+
+// Request message for [CloudChannelReportsService.ListReports][google.cloud.channel.v1.CloudChannelReportsService.ListReports].
+message ListReportsRequest {
+ // Required. The resource name of the partner account to list available reports for.
+ // Parent uses the format:
+ // accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Requested page size of the report. The server might return fewer results
+ // than requested. If unspecified, returns 20 reports.
+ // The maximum value is 100.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token that specifies a page of results beyond the first page.
+ // Obtained through
+ // [ListReportsResponse.next_page_token][google.cloud.channel.v1.ListReportsResponse.next_page_token] of the previous
+ // [CloudChannelReportsService.ListReports][google.cloud.channel.v1.CloudChannelReportsService.ListReports] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code, such as "en-US". If specified, the
+ // response is localized to the corresponding language code if the
+ // original data sources support it.
+ // Default is "en-US".
+ string language_code = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelReportsService.ListReports][google.cloud.channel.v1.CloudChannelReportsService.ListReports].
+message ListReportsResponse {
+ // The reports available to the partner.
+ repeated Report reports = 1;
+
+ // Pass this token to [FetchReportResultsRequest.page_token][google.cloud.channel.v1.FetchReportResultsRequest.page_token] to retrieve
+ // the next page of results.
+ string next_page_token = 2;
+}
+
+// The result of a [RunReportJob][] operation. Contains the name to use in
+// [FetchReportResultsRequest.report_job][google.cloud.channel.v1.FetchReportResultsRequest.report_job] and the status of the operation.
+message ReportJob {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/ReportJob"
+ pattern: "accounts/{account}/reportJobs/{report_job}"
+ };
+
+ // Required. The resource name of a report job.
+ // Name uses the format:
+ // `accounts/{account_id}/reportJobs/{report_job_id}`
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The current status of report generation.
+ ReportStatus report_status = 2;
+}
+
+// The features describing the data. Returned by
+// [CloudChannelReportsService.RunReportJob][google.cloud.channel.v1.CloudChannelReportsService.RunReportJob] and
+// [CloudChannelReportsService.FetchReportResults][google.cloud.channel.v1.CloudChannelReportsService.FetchReportResults].
+message ReportResultsMetadata {
+ // Details of the completed report.
+ Report report = 1;
+
+ // The total number of rows of data in the final report.
+ int64 row_count = 2;
+
+ // The date range of reported usage.
+ DateRange date_range = 3;
+
+ // The usage dates immediately preceding `date_range` with the same duration.
+ // Use this to calculate trending usage and costs. This is only populated if
+ // you request trending data.
+ //
+ // For example, if `date_range` is July 1-15, `preceding_date_range` will be
+ // June 16-30.
+ DateRange preceding_date_range = 4;
+}
+
+// The definition of a report column. Specifies the data properties
+// in the corresponding position of the report rows.
+message Column {
+ // Available data types for columns. Corresponds to the fields in the
+ // ReportValue `oneof` field.
+ enum DataType {
+ // Not used.
+ DATA_TYPE_UNSPECIFIED = 0;
+
+ // ReportValues for this column will use string_value.
+ STRING = 1;
+
+ // ReportValues for this column will use int_value.
+ INT = 2;
+
+ // ReportValues for this column will use decimal_value.
+ DECIMAL = 3;
+
+ // ReportValues for this column will use money_value.
+ MONEY = 4;
+
+ // ReportValues for this column will use date_value.
+ DATE = 5;
+
+ // ReportValues for this column will use date_time_value.
+ DATE_TIME = 6;
+ }
+
+ // The unique name of the column (for example, customer_domain,
+ // channel_partner, customer_cost). You can use column IDs in
+ // [RunReportJobRequest.filter][google.cloud.channel.v1.RunReportJobRequest.filter].
+ // To see all reports and their columns, call
+ // [CloudChannelReportsService.ListReports][google.cloud.channel.v1.CloudChannelReportsService.ListReports].
+ string column_id = 1;
+
+ // The column's display name.
+ string display_name = 2;
+
+ // The type of the values for this column.
+ DataType data_type = 3;
+}
+
+// A representation of usage or invoice date ranges.
+message DateRange {
+ // The earliest usage date time (inclusive).
+ //
+ // If you use time groupings (daily, weekly, etc), each group uses
+ // midnight to midnight (Pacific time). The usage start date is
+ // rounded down to include all usage from the specified date. We recommend
+ // that clients pass `usage_start_date_time` in Pacific time.
+ google.type.DateTime usage_start_date_time = 1;
+
+ // The latest usage date time (exclusive).
+ //
+ // If you use time groupings (daily, weekly, etc), each group uses
+ // midnight to midnight (Pacific time). The usage end date is
+ // rounded down to include all usage from the specified date. We recommend
+ // that clients pass `usage_start_date_time` in Pacific time.
+ google.type.DateTime usage_end_date_time = 2;
+
+ // The earliest invoice date (inclusive).
+ //
+ // If your product uses monthly invoices, and this value is not the beginning
+ // of a month, this will adjust the date to the first day of the given month.
+ google.type.Date invoice_start_date = 3;
+
+ // The latest invoice date (exclusive).
+ //
+ // If your product uses monthly invoices, and this value is not the beginning
+ // of a month, this will adjust the date to the first day of the following
+ // month.
+ google.type.Date invoice_end_date = 4;
+}
+
+// A row of report values.
+message Row {
+ // The list of values in the row.
+ repeated ReportValue values = 1;
+}
+
+// A single report value.
+message ReportValue {
+ // A single report value.
+ oneof value {
+ // A value of type `string`.
+ string string_value = 1;
+
+ // A value of type `int`.
+ int64 int_value = 2;
+
+ // A value of type `google.type.Decimal`, representing non-integer numeric
+ // values.
+ google.type.Decimal decimal_value = 3;
+
+ // A value of type `google.type.Money` (currency code, whole units, decimal
+ // units).
+ google.type.Money money_value = 4;
+
+ // A value of type `google.type.Date` (year, month, day).
+ google.type.Date date_value = 5;
+
+ // A value of type `google.type.DateTime` (year, month, day, hour, minute,
+ // second, and UTC offset or timezone.)
+ google.type.DateTime date_time_value = 6;
+ }
+}
+
+// Status of a report generation process.
+message ReportStatus {
+ // Available states of report generation.
+ enum State {
+ // Not used.
+ STATE_UNSPECIFIED = 0;
+
+ // Report processing started.
+ STARTED = 1;
+
+ // Data generated from the report is being staged.
+ WRITING = 2;
+
+ // Report data is available for access.
+ AVAILABLE = 3;
+
+ // Report failed.
+ FAILED = 4;
+ }
+
+ // The current state of the report generation process.
+ State state = 1;
+
+ // The report generation's start time.
+ google.protobuf.Timestamp start_time = 2;
+
+ // The report generation's completion time.
+ google.protobuf.Timestamp end_time = 3;
+}
+
+// The ID and description of a report that was used to generate report data.
+// For example, "GCP Daily Spend", "Google Workspace License Activity", etc.
+message Report {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/Report"
+ pattern: "accounts/{account}/reports/{report}"
+ };
+
+ // Required. The report's resource name. Specifies the account and report used to
+ // generate report data. The report_id identifier is a UID
+ // (for example, `613bf59q`).
+ //
+ // Name uses the format:
+ // accounts/{account_id}/reports/{report_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // A human-readable name for this report.
+ string display_name = 2;
+
+ // The list of columns included in the report. This defines the schema of
+ // the report results.
+ repeated Column columns = 3;
+
+ // A description of other aspects of the report, such as the products
+ // it supports.
+ string description = 4;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/repricing.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/repricing.proto
new file mode 100644
index 00000000000..7cc2f26072c
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/repricing.proto
@@ -0,0 +1,149 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/protobuf/timestamp.proto";
+import "google/type/date.proto";
+import "google/type/decimal.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "RepricingProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Specifies the different costs that the modified bill can be based on.
+enum RebillingBasis {
+ // Not used.
+ REBILLING_BASIS_UNSPECIFIED = 0;
+
+ // Use the list cost, also known as the MSRP.
+ COST_AT_LIST = 1;
+
+ // Pass through all discounts except the Reseller Program Discount. If this is
+ // the default cost base and no adjustments are specified, the output cost
+ // will be exactly what the customer would see if they viewed the bill in the
+ // Google Cloud Console.
+ DIRECT_CUSTOMER_COST = 2;
+}
+
+// Configuration for how a reseller will reprice a Customer.
+message CustomerRepricingConfig {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/CustomerRepricingConfig"
+ pattern: "accounts/{account}/customers/{customer}/customerRepricingConfigs/{customer_repricing_config}"
+ };
+
+ // Output only. Resource name of the CustomerRepricingConfig.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The configuration for bill modifications made by a reseller before
+ // sending it to customers.
+ RepricingConfig repricing_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Timestamp of an update to the repricing rule. If `update_time` is after
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] then it indicates this was set
+ // mid-month.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Configuration for how a distributor will rebill a channel partner
+// (also known as a distributor-authorized reseller).
+message ChannelPartnerRepricingConfig {
+ option (google.api.resource) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerRepricingConfig"
+ pattern: "accounts/{account}/channelPartnerLinks/{channel_partner}/channelPartnerRepricingConfigs/{channel_partner_repricing_config}"
+ };
+
+ // Output only. Resource name of the ChannelPartnerRepricingConfig.
+ // Format:
+ // accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}.
+ string name = 1 [(google.api.field_behavior) = OUTPUT_ONLY];
+
+ // Required. The configuration for bill modifications made by a reseller before
+ // sending it to ChannelPartner.
+ RepricingConfig repricing_config = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Output only. Timestamp of an update to the repricing rule. If `update_time` is after
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] then it indicates this was set
+ // mid-month.
+ google.protobuf.Timestamp update_time = 3 [(google.api.field_behavior) = OUTPUT_ONLY];
+}
+
+// Configuration for repricing a Google bill over a period of time.
+message RepricingConfig {
+ // Applies the repricing configuration at the entitlement level.
+ message EntitlementGranularity {
+ // Resource name of the entitlement.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string entitlement = 1 [(google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ }];
+ }
+
+ // Applies the repricing configuration at the channel partner level.
+ // The channel partner value is derived from the resource name. Takes an
+ // empty json object.
+ message ChannelPartnerGranularity {
+
+ }
+
+ // Required. Defines the granularity for repricing.
+ oneof granularity {
+ // Applies the repricing configuration at the entitlement level. This is
+ // the only supported value for CustomerRepricingConfig.
+ EntitlementGranularity entitlement_granularity = 4;
+
+ // Applies the repricing configuration at the channel partner level.
+ // This is the only supported value for ChannelPartnerRepricingConfig.
+ ChannelPartnerGranularity channel_partner_granularity = 5;
+ }
+
+ // Required. The YearMonth when these adjustments activate. The Day field needs to be
+ // "0" since we only accept YearMonth repricing boundaries.
+ google.type.Date effective_invoice_month = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Information about the adjustment.
+ RepricingAdjustment adjustment = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The [RebillingBasis][google.cloud.channel.v1.RebillingBasis] to use for this bill. Specifies the relative cost
+ // based on repricing costs you will apply.
+ RebillingBasis rebilling_basis = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// A type that represents the various adjustments you can apply to a bill.
+message RepricingAdjustment {
+ // A oneof that represents the different types for this adjustment.
+ oneof adjustment {
+ // Flat markup or markdown on an entire bill.
+ PercentageAdjustment percentage_adjustment = 2;
+ }
+}
+
+// An adjustment that applies a flat markup or markdown to an entire bill.
+message PercentageAdjustment {
+ // The percentage of the bill to adjust.
+ // For example:
+ // Mark down by 1% => "-1.00"
+ // Mark up by 1% => "1.00"
+ // Pass-Through => "0.00"
+ google.type.Decimal percentage = 2;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/service.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/service.proto
new file mode 100644
index 00000000000..bbb092e181f
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/service.proto
@@ -0,0 +1,2452 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/annotations.proto";
+import "google/api/client.proto";
+import "google/api/field_behavior.proto";
+import "google/api/resource.proto";
+import "google/cloud/channel/v1/channel_partner_links.proto";
+import "google/cloud/channel/v1/common.proto";
+import "google/cloud/channel/v1/customers.proto";
+import "google/cloud/channel/v1/entitlements.proto";
+import "google/cloud/channel/v1/offers.proto";
+import "google/cloud/channel/v1/products.proto";
+import "google/cloud/channel/v1/repricing.proto";
+import "google/longrunning/operations.proto";
+import "google/protobuf/empty.proto";
+import "google/protobuf/field_mask.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "ServiceProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// CloudChannelService lets Google cloud resellers and distributors manage
+// their customers, channel partners, entitlements, and reports.
+//
+// Using this service:
+// 1. Resellers and distributors can manage a customer entity.
+// 2. Distributors can register an authorized reseller in their channel and
+// provide them with delegated admin access.
+// 3. Resellers and distributors can manage customer entitlements.
+//
+// CloudChannelService exposes the following resources:
+// - [Customer][google.cloud.channel.v1.Customer]s: An entity—usually an enterprise—managed by a reseller or
+// distributor.
+//
+// - [Entitlement][google.cloud.channel.v1.Entitlement]s: An entity that provides a customer with the means to use
+// a service. Entitlements are created or updated as a result of a successful
+// fulfillment.
+//
+// - [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink]s: An entity that identifies links between
+// distributors and their indirect resellers in a channel.
+service CloudChannelService {
+ option (google.api.default_host) = "cloudchannel.googleapis.com";
+ option (google.api.oauth_scopes) = "https://www.googleapis.com/auth/apps.order";
+
+ // List [Customer][google.cloud.channel.v1.Customer]s.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ //
+ // Return value:
+ // List of [Customer][google.cloud.channel.v1.Customer]s, or an empty list if there are no customers.
+ rpc ListCustomers(ListCustomersRequest) returns (ListCustomersResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*}/customers"
+ additional_bindings {
+ get: "/v1/{parent=accounts/*/channelPartnerLinks/*}/customers"
+ }
+ };
+ }
+
+ // Returns the requested [Customer][google.cloud.channel.v1.Customer] resource.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The customer resource doesn't exist. Usually the result of an
+ // invalid name parameter.
+ //
+ // Return value:
+ // The [Customer][google.cloud.channel.v1.Customer] resource.
+ rpc GetCustomer(GetCustomerRequest) returns (Customer) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*/customers/*}"
+ additional_bindings {
+ get: "/v1/{name=accounts/*/channelPartnerLinks/*/customers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Confirms the existence of Cloud Identity accounts based on the domain and
+ // if the Cloud Identity accounts are owned by the reseller.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * INVALID_VALUE: Invalid domain value in the request.
+ //
+ // Return value:
+ // A list of [CloudIdentityCustomerAccount][google.cloud.channel.v1.CloudIdentityCustomerAccount] resources for the domain (may be
+ // empty)
+ //
+ // Note: in the v1alpha1 version of the API, a NOT_FOUND error returns if
+ // no [CloudIdentityCustomerAccount][google.cloud.channel.v1.CloudIdentityCustomerAccount] resources match the domain.
+ rpc CheckCloudIdentityAccountsExist(CheckCloudIdentityAccountsExistRequest) returns (CheckCloudIdentityAccountsExistResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}:checkCloudIdentityAccountsExist"
+ body: "*"
+ };
+ }
+
+ // Creates a new [Customer][google.cloud.channel.v1.Customer] resource under the reseller or distributor
+ // account.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT:
+ // * Required request parameters are missing or invalid.
+ // * Domain field value doesn't match the primary email domain.
+ //
+ // Return value:
+ // The newly created [Customer][google.cloud.channel.v1.Customer] resource.
+ rpc CreateCustomer(CreateCustomerRequest) returns (Customer) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}/customers"
+ body: "customer"
+ additional_bindings {
+ post: "/v1/{parent=accounts/*/channelPartnerLinks/*}/customers"
+ body: "customer"
+ }
+ };
+ }
+
+ // Updates an existing [Customer][google.cloud.channel.v1.Customer] resource for the reseller or
+ // distributor.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: No [Customer][google.cloud.channel.v1.Customer] resource found for the name in the request.
+ //
+ // Return value:
+ // The updated [Customer][google.cloud.channel.v1.Customer] resource.
+ rpc UpdateCustomer(UpdateCustomerRequest) returns (Customer) {
+ option (google.api.http) = {
+ patch: "/v1/{customer.name=accounts/*/customers/*}"
+ body: "customer"
+ additional_bindings {
+ patch: "/v1/{customer.name=accounts/*/channelPartnerLinks/*/customers/*}"
+ body: "customer"
+ }
+ };
+ }
+
+ // Deletes the given [Customer][google.cloud.channel.v1.Customer] permanently.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The account making the request does not own
+ // this customer.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * FAILED_PRECONDITION: The customer has existing entitlements.
+ // * NOT_FOUND: No [Customer][google.cloud.channel.v1.Customer] resource found for the name in the request.
+ rpc DeleteCustomer(DeleteCustomerRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=accounts/*/customers/*}"
+ additional_bindings {
+ delete: "/v1/{name=accounts/*/channelPartnerLinks/*/customers/*}"
+ }
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Imports a [Customer][google.cloud.channel.v1.Customer] from the Cloud Identity associated with the provided
+ // Cloud Identity ID or domain before a TransferEntitlements call. If a
+ // linked Customer already exists and overwrite_if_exists is true, it will
+ // update that Customer's data.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * NOT_FOUND: Cloud Identity doesn't exist or was deleted.
+ // * INVALID_ARGUMENT: Required parameters are missing, or the auth_token is
+ // expired or invalid.
+ // * ALREADY_EXISTS: A customer already exists and has conflicting critical
+ // fields. Requires an overwrite.
+ //
+ // Return value:
+ // The [Customer][google.cloud.channel.v1.Customer].
+ rpc ImportCustomer(ImportCustomerRequest) returns (Customer) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}/customers:import"
+ body: "*"
+ additional_bindings {
+ post: "/v1/{parent=accounts/*/channelPartnerLinks/*}/customers:import"
+ body: "*"
+ }
+ };
+ }
+
+ // Creates a Cloud Identity for the given customer using the customer's
+ // information, or the information provided here.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The customer was not found.
+ // * ALREADY_EXISTS: The customer's primary email already exists. Retry
+ // after changing the customer's primary contact email.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata contains an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc ProvisionCloudIdentity(ProvisionCloudIdentityRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{customer=accounts/*/customers/*}:provisionCloudIdentity"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Customer"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Lists [Entitlement][google.cloud.channel.v1.Entitlement]s belonging to a customer.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ //
+ // Return value:
+ // A list of the customer's [Entitlement][google.cloud.channel.v1.Entitlement]s.
+ rpc ListEntitlements(ListEntitlementsRequest) returns (ListEntitlementsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*/customers/*}/entitlements"
+ };
+ }
+
+ // List [TransferableSku][google.cloud.channel.v1.TransferableSku]s of a customer based on the Cloud Identity ID or
+ // Customer Name in the request.
+ //
+ // Use this method to list the entitlements information of an
+ // unowned customer. You should provide the customer's
+ // Cloud Identity ID or Customer Name.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED:
+ // * The customer doesn't belong to the reseller and has no auth token.
+ // * The supplied auth token is invalid.
+ // * The reseller account making the request is different
+ // from the reseller account in the query.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ //
+ // Return value:
+ // A list of the customer's [TransferableSku][google.cloud.channel.v1.TransferableSku].
+ rpc ListTransferableSkus(ListTransferableSkusRequest) returns (ListTransferableSkusResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}:listTransferableSkus"
+ body: "*"
+ };
+ }
+
+ // List [TransferableOffer][google.cloud.channel.v1.TransferableOffer]s of a customer based on Cloud Identity ID or
+ // Customer Name in the request.
+ //
+ // Use this method when a reseller gets the entitlement information of an
+ // unowned customer. The reseller should provide the customer's
+ // Cloud Identity ID or Customer Name.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED:
+ // * The customer doesn't belong to the reseller and has no auth token.
+ // * The customer provided incorrect reseller information when generating
+ // auth token.
+ // * The reseller account making the request is different
+ // from the reseller account in the query.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ //
+ // Return value:
+ // List of [TransferableOffer][google.cloud.channel.v1.TransferableOffer] for the given customer and SKU.
+ rpc ListTransferableOffers(ListTransferableOffersRequest) returns (ListTransferableOffersResponse) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}:listTransferableOffers"
+ body: "*"
+ };
+ }
+
+ // Returns the requested [Entitlement][google.cloud.channel.v1.Entitlement] resource.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The customer entitlement was not found.
+ //
+ // Return value:
+ // The requested [Entitlement][google.cloud.channel.v1.Entitlement] resource.
+ rpc GetEntitlement(GetEntitlementRequest) returns (Entitlement) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*/customers/*/entitlements/*}"
+ };
+ }
+
+ // Creates an entitlement for a customer.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT:
+ // * Required request parameters are missing or invalid.
+ // * There is already a customer entitlement for a SKU from the same
+ // product family.
+ // * INVALID_VALUE: Make sure the OfferId is valid. If it is, contact
+ // Google Channel support for further troubleshooting.
+ // * NOT_FOUND: The customer or offer resource was not found.
+ // * ALREADY_EXISTS:
+ // * The SKU was already purchased for the customer.
+ // * The customer's primary email already exists. Retry
+ // after changing the customer's primary contact email.
+ // * CONDITION_NOT_MET or FAILED_PRECONDITION:
+ // * The domain required for purchasing a SKU has not been verified.
+ // * A pre-requisite SKU required to purchase an Add-On SKU is missing.
+ // For example, Google Workspace Business Starter is required to purchase
+ // Vault or Drive.
+ // * (Developer accounts only) Reseller and resold domain must meet the
+ // following naming requirements:
+ // * Domain names must start with goog-test.
+ // * Domain names must include the reseller domain.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc CreateEntitlement(CreateEntitlementRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*/customers/*}/entitlements"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Change parameters of the entitlement.
+ //
+ // An entitlement update is a long-running operation and it updates the
+ // entitlement as a result of fulfillment.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // For example, the number of seats being changed is greater than the allowed
+ // number of max seats, or decreasing seats for a commitment based plan.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc ChangeParameters(ChangeParametersRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:changeParameters"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the renewal settings for an existing customer entitlement.
+ //
+ // An entitlement update is a long-running operation and it updates the
+ // entitlement as a result of fulfillment.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * NOT_COMMITMENT_PLAN: Renewal Settings are only applicable for a
+ // commitment plan. Can't enable or disable renewals for non-commitment plans.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc ChangeRenewalSettings(ChangeRenewalSettingsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:changeRenewalSettings"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Updates the Offer for an existing customer entitlement.
+ //
+ // An entitlement update is a long-running operation and it updates the
+ // entitlement as a result of fulfillment.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Offer or Entitlement resource not found.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc ChangeOffer(ChangeOfferRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:changeOffer"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Starts paid service for a trial entitlement.
+ //
+ // Starts paid service for a trial entitlement immediately. This method is
+ // only applicable if a plan is set up for a trial entitlement but has some
+ // trial days remaining.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * FAILED_PRECONDITION/NOT_IN_TRIAL: This method only works for
+ // entitlement on trial plans.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc StartPaidService(StartPaidServiceRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:startPaidService"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Suspends a previously fulfilled entitlement.
+ //
+ // An entitlement suspension is a long-running operation.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * NOT_ACTIVE: Entitlement is not active.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc SuspendEntitlement(SuspendEntitlementRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:suspend"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Cancels a previously fulfilled entitlement.
+ //
+ // An entitlement cancellation is a long-running operation.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * FAILED_PRECONDITION: There are Google Cloud projects linked to the
+ // Google Cloud entitlement's Cloud Billing subaccount.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * DELETION_TYPE_NOT_ALLOWED: Cancel is only allowed for Google Workspace
+ // add-ons, or entitlements for Google Cloud's development platform.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The response will contain
+ // google.protobuf.Empty on success. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc CancelEntitlement(CancelEntitlementRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:cancel"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Activates a previously suspended entitlement. Entitlements suspended for
+ // pending ToS acceptance can't be activated using this method.
+ //
+ // An entitlement activation is a long-running operation and it updates
+ // the state of the customer entitlement.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement resource not found.
+ // * SUSPENSION_NOT_RESELLER_INITIATED: Can only activate reseller-initiated
+ // suspensions and entitlements that have accepted the TOS.
+ // * NOT_SUSPENDED: Can only activate suspended entitlements not in an ACTIVE
+ // state.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc ActivateEntitlement(ActivateEntitlementRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{name=accounts/*/customers/*/entitlements/*}:activate"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "Entitlement"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Transfers customer entitlements to new reseller.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The customer or offer resource was not found.
+ // * ALREADY_EXISTS: The SKU was already transferred for the customer.
+ // * CONDITION_NOT_MET or FAILED_PRECONDITION:
+ // * The SKU requires domain verification to transfer, but the domain is
+ // not verified.
+ // * An Add-On SKU (example, Vault or Drive) is missing the
+ // pre-requisite SKU (example, G Suite Basic).
+ // * (Developer accounts only) Reseller and resold domain must meet the
+ // following naming requirements:
+ // * Domain names must start with goog-test.
+ // * Domain names must include the reseller domain.
+ // * Specify all transferring entitlements.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc TransferEntitlements(TransferEntitlementsRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*/customers/*}:transferEntitlements"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "TransferEntitlementsResponse"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // Transfers customer entitlements from their current reseller to Google.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The customer or offer resource was not found.
+ // * ALREADY_EXISTS: The SKU was already transferred for the customer.
+ // * CONDITION_NOT_MET or FAILED_PRECONDITION:
+ // * The SKU requires domain verification to transfer, but the domain is
+ // not verified.
+ // * An Add-On SKU (example, Vault or Drive) is missing the
+ // pre-requisite SKU (example, G Suite Basic).
+ // * (Developer accounts only) Reseller and resold domain must meet the
+ // following naming requirements:
+ // * Domain names must start with goog-test.
+ // * Domain names must include the reseller domain.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The ID of a long-running operation.
+ //
+ // To get the results of the operation, call the GetOperation method of
+ // CloudChannelOperationsService. The response will contain
+ // google.protobuf.Empty on success. The Operation metadata will contain an
+ // instance of [OperationMetadata][google.cloud.channel.v1.OperationMetadata].
+ rpc TransferEntitlementsToGoogle(TransferEntitlementsToGoogleRequest) returns (google.longrunning.Operation) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*/customers/*}:transferEntitlementsToGoogle"
+ body: "*"
+ };
+ option (google.longrunning.operation_info) = {
+ response_type: "google.protobuf.Empty"
+ metadata_type: "OperationMetadata"
+ };
+ }
+
+ // List [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink]s belonging to a distributor.
+ // You must be a distributor to call this method.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ //
+ // Return value:
+ // The list of the distributor account's [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resources.
+ rpc ListChannelPartnerLinks(ListChannelPartnerLinksRequest) returns (ListChannelPartnerLinksResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*}/channelPartnerLinks"
+ };
+ }
+
+ // Returns the requested [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource.
+ // You must be a distributor to call this method.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: ChannelPartnerLink resource not found because of an
+ // invalid channel partner link name.
+ //
+ // Return value:
+ // The [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource.
+ rpc GetChannelPartnerLink(GetChannelPartnerLinkRequest) returns (ChannelPartnerLink) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*/channelPartnerLinks/*}"
+ };
+ }
+
+ // Initiates a channel partner link between a distributor and a reseller, or
+ // between resellers in an n-tier reseller channel.
+ // Invited partners need to follow the invite_link_uri provided in the
+ // response to accept. After accepting the invitation, a link is set up
+ // between the two parties.
+ // You must be a distributor to call this method.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * ALREADY_EXISTS: The ChannelPartnerLink sent in the request already
+ // exists.
+ // * NOT_FOUND: No Cloud Identity customer exists for provided domain.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The new [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource.
+ rpc CreateChannelPartnerLink(CreateChannelPartnerLinkRequest) returns (ChannelPartnerLink) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*}/channelPartnerLinks"
+ body: "channel_partner_link"
+ };
+ }
+
+ // Updates a channel partner link. Distributors call this method to change a
+ // link's status. For example, to suspend a partner link.
+ // You must be a distributor to call this method.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request is different
+ // from the reseller account in the API request.
+ // * INVALID_ARGUMENT:
+ // * Required request parameters are missing or invalid.
+ // * Link state cannot change from invited to active or suspended.
+ // * Cannot send reseller_cloud_identity_id, invite_url, or name in update
+ // mask.
+ // * NOT_FOUND: ChannelPartnerLink resource not found.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The updated [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink] resource.
+ rpc UpdateChannelPartnerLink(UpdateChannelPartnerLinkRequest) returns (ChannelPartnerLink) {
+ option (google.api.http) = {
+ patch: "/v1/{name=accounts/*/channelPartnerLinks/*}"
+ body: "*"
+ };
+ }
+
+ // Gets information about how a Reseller modifies their bill before sending
+ // it to a Customer.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * NOT_FOUND: The [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] was not found.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] resource, otherwise returns
+ // an error.
+ rpc GetCustomerRepricingConfig(GetCustomerRepricingConfigRequest) returns (CustomerRepricingConfig) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*/customers/*/customerRepricingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists information about how a Reseller modifies their bill before sending
+ // it to a Customer.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * NOT_FOUND: The [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] specified does not exist or is
+ // not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] resources. The
+ // data for each resource is displayed in the ascending order of:
+ // * customer ID
+ // * [RepricingConfig.EntitlementGranularity.entitlement][google.cloud.channel.v1.RepricingConfig.EntitlementGranularity.entitlement]
+ // * [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month]
+ // * [CustomerRepricingConfig.update_time][google.cloud.channel.v1.CustomerRepricingConfig.update_time]
+ //
+ // If unsuccessful, returns an error.
+ rpc ListCustomerRepricingConfigs(ListCustomerRepricingConfigsRequest) returns (ListCustomerRepricingConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*/customers/*}/customerRepricingConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates a CustomerRepricingConfig. Call this method to set modifications
+ // for a specific customer's bill. You can only create configs if the
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is a
+ // future month. If needed, you can create a config for the current month,
+ // with some restrictions.
+ //
+ // When creating a config for a future month, make sure there are no existing
+ // configs for that
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ //
+ // The following restrictions are for creating configs in the current month.
+ //
+ // * This functionality is reserved for recovering from an erroneous config,
+ // and should not be used for regular business cases.
+ // * The new config will not modify exports used with other configs.
+ // Changes to the config may be immediate, but may take up to 24 hours.
+ // * There is a limit of ten configs for any
+ // [RepricingConfig.EntitlementGranularity.entitlement][google.cloud.channel.v1.RepricingConfig.EntitlementGranularity.entitlement]
+ // or [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ // * The contained [CustomerRepricingConfig.repricing_config][google.cloud.channel.v1.CustomerRepricingConfig.repricing_config] vaule must be
+ // different from the value used in the current config for a
+ // [RepricingConfig.EntitlementGranularity.entitlement][google.cloud.channel.v1.RepricingConfig.EntitlementGranularity.entitlement].
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * INVALID_ARGUMENT: Missing or invalid required parameters in the
+ // request. Also displays if the updated config is for the current month or
+ // past months.
+ // * NOT_FOUND: The [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] specified does not exist or is
+ // not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the updated [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] resource, otherwise
+ // returns an error.
+ rpc CreateCustomerRepricingConfig(CreateCustomerRepricingConfigRequest) returns (CustomerRepricingConfig) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*/customers/*}/customerRepricingConfigs"
+ body: "customer_repricing_config"
+ };
+ option (google.api.method_signature) = "parent,customer_repricing_config";
+ }
+
+ // Updates a CustomerRepricingConfig. Call this method to set modifications
+ // for a specific customer's bill. This method overwrites the existing
+ // CustomerRepricingConfig.
+ //
+ // You can only update configs if the
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is a
+ // future month. To make changes to configs for the current month, use
+ // [CreateCustomerRepricingConfig][google.cloud.channel.v1.CloudChannelService.CreateCustomerRepricingConfig], taking note of its restrictions. You
+ // cannot update the [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ //
+ // When updating a config in the future:
+ //
+ // * This config must already exist.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * INVALID_ARGUMENT: Missing or invalid required parameters in the
+ // request. Also displays if the updated config is for the current month or
+ // past months.
+ // * NOT_FOUND: The [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] specified does not exist or is
+ // not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the updated [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] resource, otherwise
+ // returns an error.
+ rpc UpdateCustomerRepricingConfig(UpdateCustomerRepricingConfigRequest) returns (CustomerRepricingConfig) {
+ option (google.api.http) = {
+ patch: "/v1/{customer_repricing_config.name=accounts/*/customers/*/customerRepricingConfigs/*}"
+ body: "customer_repricing_config"
+ };
+ option (google.api.method_signature) = "customer_repricing_config";
+ }
+
+ // Deletes the given [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] permanently. You can only
+ // delete configs if their [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is set
+ // to a date after the current month.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The account making the request does not own
+ // this customer.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * FAILED_PRECONDITION: The [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] is active or in the
+ // past.
+ // * NOT_FOUND: No [CustomerRepricingConfig][google.cloud.channel.v1.CustomerRepricingConfig] found for the name in the
+ // request.
+ rpc DeleteCustomerRepricingConfig(DeleteCustomerRepricingConfigRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=accounts/*/customers/*/customerRepricingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Gets information about how a Distributor modifies their bill before sending
+ // it to a ChannelPartner.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * NOT_FOUND: The [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] was not found.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] resource, otherwise
+ // returns an error.
+ rpc GetChannelPartnerRepricingConfig(GetChannelPartnerRepricingConfigRequest) returns (ChannelPartnerRepricingConfig) {
+ option (google.api.http) = {
+ get: "/v1/{name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Lists information about how a Reseller modifies their bill before sending
+ // it to a ChannelPartner.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * NOT_FOUND: The [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] specified does not exist
+ // or is not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] resources.
+ // The data for each resource is displayed in the ascending order of:
+ // * channel partner ID
+ // * [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month]
+ // * [ChannelPartnerRepricingConfig.update_time][google.cloud.channel.v1.ChannelPartnerRepricingConfig.update_time]
+ //
+ // If unsuccessful, returns an error.
+ rpc ListChannelPartnerRepricingConfigs(ListChannelPartnerRepricingConfigsRequest) returns (ListChannelPartnerRepricingConfigsResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*/channelPartnerLinks/*}/channelPartnerRepricingConfigs"
+ };
+ option (google.api.method_signature) = "parent";
+ }
+
+ // Creates a ChannelPartnerRepricingConfig. Call this method to set
+ // modifications for a specific ChannelPartner's bill. You can only create
+ // configs if the [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is a future
+ // month. If needed, you can create a config for the current month, with some
+ // restrictions.
+ //
+ // When creating a config for a future month, make sure there are no existing
+ // configs for that
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ //
+ // The following restrictions are for creating configs in the current month.
+ //
+ // * This functionality is reserved for recovering from an erroneous config,
+ // and should not be used for regular business cases.
+ // * The new config will not modify exports used with other configs.
+ // Changes to the config may be immediate, but may take up to 24 hours.
+ // * There is a limit of ten configs for any ChannelPartner or
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ // * The contained [ChannelPartnerRepricingConfig.repricing_config][google.cloud.channel.v1.ChannelPartnerRepricingConfig.repricing_config] vaule
+ // must be different from the value used in the current config for a
+ // ChannelPartner.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * INVALID_ARGUMENT: Missing or invalid required parameters in the
+ // request. Also displays if the updated config is for the current month or
+ // past months.
+ // * NOT_FOUND: The [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] specified does not exist
+ // or is not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the updated [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] resource,
+ // otherwise returns an error.
+ rpc CreateChannelPartnerRepricingConfig(CreateChannelPartnerRepricingConfigRequest) returns (ChannelPartnerRepricingConfig) {
+ option (google.api.http) = {
+ post: "/v1/{parent=accounts/*/channelPartnerLinks/*}/channelPartnerRepricingConfigs"
+ body: "channel_partner_repricing_config"
+ };
+ option (google.api.method_signature) = "parent,channel_partner_repricing_config";
+ }
+
+ // Updates a ChannelPartnerRepricingConfig. Call this method to set
+ // modifications for a specific ChannelPartner's bill. This method overwrites
+ // the existing CustomerRepricingConfig.
+ //
+ // You can only update configs if the
+ // [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is a
+ // future month. To make changes to configs for the current month, use
+ // [CreateChannelPartnerRepricingConfig][google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerRepricingConfig], taking note of its restrictions.
+ // You cannot update the [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month].
+ //
+ // When updating a config in the future:
+ //
+ // * This config must already exist.
+ //
+ // Possible Error Codes:
+ //
+ // * PERMISSION_DENIED: If the account making the request and the account
+ // being queried are different.
+ // * INVALID_ARGUMENT: Missing or invalid required parameters in the
+ // request. Also displays if the updated config is for the current month or
+ // past months.
+ // * NOT_FOUND: The [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] specified does not exist
+ // or is not associated with the given account.
+ // * INTERNAL: Any non-user error related to technical issues in the
+ // backend. In this case, contact Cloud Channel support.
+ //
+ // Return Value:
+ // If successful, the updated [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] resource,
+ // otherwise returns an error.
+ rpc UpdateChannelPartnerRepricingConfig(UpdateChannelPartnerRepricingConfigRequest) returns (ChannelPartnerRepricingConfig) {
+ option (google.api.http) = {
+ patch: "/v1/{channel_partner_repricing_config.name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*}"
+ body: "channel_partner_repricing_config"
+ };
+ option (google.api.method_signature) = "channel_partner_repricing_config";
+ }
+
+ // Deletes the given [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] permanently. You can
+ // only delete configs if their [RepricingConfig.effective_invoice_month][google.cloud.channel.v1.RepricingConfig.effective_invoice_month] is
+ // set to a date after the current month.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The account making the request does not own
+ // this customer.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * FAILED_PRECONDITION: The [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] is active or
+ // in the past.
+ // * NOT_FOUND: No [ChannelPartnerRepricingConfig][google.cloud.channel.v1.ChannelPartnerRepricingConfig] found for the name in the
+ // request.
+ rpc DeleteChannelPartnerRepricingConfig(DeleteChannelPartnerRepricingConfigRequest) returns (google.protobuf.Empty) {
+ option (google.api.http) = {
+ delete: "/v1/{name=accounts/*/channelPartnerLinks/*/channelPartnerRepricingConfigs/*}"
+ };
+ option (google.api.method_signature) = "name";
+ }
+
+ // Returns the requested [Offer][google.cloud.channel.v1.Offer] resource.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The entitlement doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: Entitlement or offer was not found.
+ //
+ // Return value:
+ // The [Offer][google.cloud.channel.v1.Offer] resource.
+ rpc LookupOffer(LookupOfferRequest) returns (Offer) {
+ option (google.api.http) = {
+ get: "/v1/{entitlement=accounts/*/customers/*/entitlements/*}:lookupOffer"
+ };
+ }
+
+ // Lists the Products the reseller is authorized to sell.
+ //
+ // Possible error codes:
+ //
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ rpc ListProducts(ListProductsRequest) returns (ListProductsResponse) {
+ option (google.api.http) = {
+ get: "/v1/products"
+ };
+ }
+
+ // Lists the SKUs for a product the reseller is authorized to sell.
+ //
+ // Possible error codes:
+ //
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ rpc ListSkus(ListSkusRequest) returns (ListSkusResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=products/*}/skus"
+ };
+ }
+
+ // Lists the Offers the reseller can sell.
+ //
+ // Possible error codes:
+ //
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ rpc ListOffers(ListOffersRequest) returns (ListOffersResponse) {
+ option (google.api.http) = {
+ get: "/v1/{parent=accounts/*}/offers"
+ };
+ }
+
+ // Lists the following:
+ //
+ // * SKUs that you can purchase for a customer
+ // * SKUs that you can upgrade or downgrade for an entitlement.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ rpc ListPurchasableSkus(ListPurchasableSkusRequest) returns (ListPurchasableSkusResponse) {
+ option (google.api.http) = {
+ get: "/v1/{customer=accounts/*/customers/*}:listPurchasableSkus"
+ };
+ }
+
+ // Lists the following:
+ //
+ // * Offers that you can purchase for a customer.
+ // * Offers that you can change for an entitlement.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The customer doesn't belong to the reseller
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ rpc ListPurchasableOffers(ListPurchasableOffersRequest) returns (ListPurchasableOffersResponse) {
+ option (google.api.http) = {
+ get: "/v1/{customer=accounts/*/customers/*}:listPurchasableOffers"
+ };
+ }
+
+ // Registers a service account with subscriber privileges on the Cloud Pub/Sub
+ // topic for this Channel Services account. After you create a
+ // subscriber, you get the events through [SubscriberEvent][google.cloud.channel.v1.SubscriberEvent]
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request and the
+ // provided reseller account are different, or the impersonated user
+ // is not a super admin.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The topic name with the registered service email address.
+ rpc RegisterSubscriber(RegisterSubscriberRequest) returns (RegisterSubscriberResponse) {
+ option (google.api.http) = {
+ post: "/v1/{account=accounts/*}:register"
+ body: "*"
+ };
+ }
+
+ // Unregisters a service account with subscriber privileges on the Cloud
+ // Pub/Sub topic created for this Channel Services account. If there are no
+ // service accounts left with subscriber privileges, this deletes the topic.
+ // You can call ListSubscribers to check for these accounts.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request and the
+ // provided reseller account are different, or the impersonated user
+ // is not a super admin.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The topic resource doesn't exist.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // The topic name that unregistered the service email address.
+ // Returns a success response if the service email address wasn't registered
+ // with the topic.
+ rpc UnregisterSubscriber(UnregisterSubscriberRequest) returns (UnregisterSubscriberResponse) {
+ option (google.api.http) = {
+ post: "/v1/{account=accounts/*}:unregister"
+ body: "*"
+ };
+ }
+
+ // Lists service accounts with subscriber privileges on the Cloud Pub/Sub
+ // topic created for this Channel Services account.
+ //
+ // Possible error codes:
+ //
+ // * PERMISSION_DENIED: The reseller account making the request and the
+ // provided reseller account are different, or the impersonated user
+ // is not a super admin.
+ // * INVALID_ARGUMENT: Required request parameters are missing or invalid.
+ // * NOT_FOUND: The topic resource doesn't exist.
+ // * INTERNAL: Any non-user error related to a technical issue in the
+ // backend. Contact Cloud Channel support.
+ // * UNKNOWN: Any non-user error related to a technical issue in the backend.
+ // Contact Cloud Channel support.
+ //
+ // Return value:
+ // A list of service email addresses.
+ rpc ListSubscribers(ListSubscribersRequest) returns (ListSubscribersResponse) {
+ option (google.api.http) = {
+ get: "/v1/{account=accounts/*}:listSubscribers"
+ };
+ }
+}
+
+// Request message for [CloudChannelService.CheckCloudIdentityAccountsExist][google.cloud.channel.v1.CloudChannelService.CheckCloudIdentityAccountsExist].
+message CheckCloudIdentityAccountsExistRequest {
+ // Required. The reseller account's resource name.
+ // Parent uses the format: accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Domain to fetch for Cloud Identity account customer.
+ string domain = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Entity representing a Cloud Identity account that may be
+// associated with a Channel Services API partner.
+message CloudIdentityCustomerAccount {
+ // Returns true if a Cloud Identity account exists for a specific domain.
+ bool existing = 1;
+
+ // Returns true if the Cloud Identity account is associated with a customer
+ // of the Channel Services partner.
+ bool owned = 2;
+
+ // If owned = true, the name of the customer that owns the Cloud Identity
+ // account.
+ // Customer_name uses the format:
+ // accounts/{account_id}/customers/{customer_id}
+ string customer_name = 3;
+
+ // If existing = true, the Cloud Identity ID of the customer.
+ string customer_cloud_identity_id = 4;
+}
+
+// Response message for
+// [CloudChannelService.CheckCloudIdentityAccountsExist][google.cloud.channel.v1.CloudChannelService.CheckCloudIdentityAccountsExist].
+message CheckCloudIdentityAccountsExistResponse {
+ // The Cloud Identity accounts associated with the domain.
+ repeated CloudIdentityCustomerAccount cloud_identity_accounts = 1;
+}
+
+// Request message for [CloudChannelService.ListCustomers][google.cloud.channel.v1.CloudChannelService.ListCustomers]
+message ListCustomersRequest {
+ // Required. The resource name of the reseller account to list customers from.
+ // Parent uses the format: accounts/{account_id}.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The maximum number of customers to return. The service may return fewer
+ // than this value. If unspecified, returns at most 10 customers. The
+ // maximum value is 50.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token identifying a page of results other than the first page.
+ // Obtained through
+ // [ListCustomersResponse.next_page_token][google.cloud.channel.v1.ListCustomersResponse.next_page_token] of the previous
+ // [CloudChannelService.ListCustomers][google.cloud.channel.v1.CloudChannelService.ListCustomers] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Filters applied to the [CloudChannelService.ListCustomers] results. See
+ // https://cloud.google.com/channel/docs/concepts/google-cloud/filter-customers
+ // for more information.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.ListCustomers][google.cloud.channel.v1.CloudChannelService.ListCustomers].
+message ListCustomersResponse {
+ // The customers belonging to a reseller or distributor.
+ repeated Customer customers = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListCustomersRequest.page_token][google.cloud.channel.v1.ListCustomersRequest.page_token] to obtain that page.
+ string next_page_token = 2;
+}
+
+// Request message for [CloudChannelService.GetCustomer][google.cloud.channel.v1.CloudChannelService.GetCustomer].
+message GetCustomerRequest {
+ // Required. The resource name of the customer to retrieve.
+ // Name uses the format: accounts/{account_id}/customers/{customer_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.CreateCustomer][google.cloud.channel.v1.CloudChannelService.CreateCustomer]
+message CreateCustomerRequest {
+ // Required. The resource name of reseller account in which to create the customer.
+ // Parent uses the format: accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The customer to create.
+ Customer customer = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [CloudChannelService.UpdateCustomer][google.cloud.channel.v1.CloudChannelService.UpdateCustomer].
+message UpdateCustomerRequest {
+ // Required. New contents of the customer.
+ Customer customer = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The update mask that applies to the resource.
+ // Optional.
+ google.protobuf.FieldMask update_mask = 3;
+}
+
+// Request message for [CloudChannelService.DeleteCustomer][google.cloud.channel.v1.CloudChannelService.DeleteCustomer].
+message DeleteCustomerRequest {
+ // Required. The resource name of the customer to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.ImportCustomer][google.cloud.channel.v1.CloudChannelService.ImportCustomer]
+message ImportCustomerRequest {
+ // Specifies the identity of the transfer customer.
+ // A customer's cloud_identity_id or domain is required to look up the
+ // customer's Cloud Identity. For Team customers, only the cloud_identity_id
+ // option is valid.
+ oneof customer_identity {
+ // Required. Customer domain.
+ string domain = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Customer's Cloud Identity ID
+ string cloud_identity_id = 3 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Required. The resource name of the reseller's account.
+ // Parent takes the format: accounts/{account_id} or
+ // accounts/{account_id}/channelPartnerLinks/{channel_partner_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The super admin of the resold customer generates this token to
+ // authorize a reseller to access their Cloud Identity and purchase
+ // entitlements on their behalf. You can omit this token after authorization.
+ // See https://support.google.com/a/answer/7643790 for more details.
+ string auth_token = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Required. Choose to overwrite an existing customer if found.
+ // This must be set to true if there is an existing customer with a
+ // conflicting region code or domain.
+ bool overwrite_if_exists = 5 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Cloud Identity ID of a channel partner who will be the direct reseller for
+ // the customer's order. This field is required for 2-tier transfer scenarios
+ // and can be provided via the request Parent binding as well.
+ string channel_partner_id = 6 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Specifies the customer that will receive imported Cloud Identity
+ // information.
+ // Format: accounts/{account_id}/customers/{customer_id}
+ string customer = 7 [
+ (google.api.field_behavior) = OPTIONAL,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.ProvisionCloudIdentity][google.cloud.channel.v1.CloudChannelService.ProvisionCloudIdentity]
+message ProvisionCloudIdentityRequest {
+ // Required. Resource name of the customer.
+ // Format: accounts/{account_id}/customers/{customer_id}
+ string customer = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // CloudIdentity-specific customer information.
+ CloudIdentityInfo cloud_identity_info = 2;
+
+ // Admin user information.
+ AdminUser user = 3;
+
+ // Validate the request and preview the review, but do not post it.
+ bool validate_only = 4;
+}
+
+// Request message for [CloudChannelService.ListEntitlements][google.cloud.channel.v1.CloudChannelService.ListEntitlements]
+message ListEntitlementsRequest {
+ // Required. The resource name of the reseller's customer account to list
+ // entitlements for.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, return at most 50 entitlements.
+ // The maximum value is 100; the server will coerce values above 100.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ // Obtained using
+ // [ListEntitlementsResponse.next_page_token][google.cloud.channel.v1.ListEntitlementsResponse.next_page_token] of the previous
+ // [CloudChannelService.ListEntitlements][google.cloud.channel.v1.CloudChannelService.ListEntitlements] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.ListEntitlements][google.cloud.channel.v1.CloudChannelService.ListEntitlements].
+message ListEntitlementsResponse {
+ // The reseller customer's entitlements.
+ repeated Entitlement entitlements = 1;
+
+ // A token to list the next page of results.
+ // Pass to [ListEntitlementsRequest.page_token][google.cloud.channel.v1.ListEntitlementsRequest.page_token] to obtain that page.
+ string next_page_token = 2;
+}
+
+// Request message for [CloudChannelService.ListTransferableSkus][google.cloud.channel.v1.CloudChannelService.ListTransferableSkus]
+message ListTransferableSkusRequest {
+ // Specifies the identity of transferred customer.
+ // Either a cloud_identity_id of the customer or the customer name is
+ // required to look up transferable SKUs.
+ oneof transferred_customer_identity {
+ // Customer's Cloud Identity ID
+ string cloud_identity_id = 4;
+
+ // A reseller is required to create a customer and use the resource name of
+ // the created customer here.
+ // Customer_name uses the format:
+ // accounts/{account_id}/customers/{customer_id}
+ string customer_name = 7;
+ }
+
+ // Required. The reseller account's resource name.
+ // Parent uses the format: accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // The requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 SKUs.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ // Optional.
+ int32 page_size = 2;
+
+ // A token for a page of results other than the first page.
+ // Obtained using
+ // [ListTransferableSkusResponse.next_page_token][google.cloud.channel.v1.ListTransferableSkusResponse.next_page_token] of the previous
+ // [CloudChannelService.ListTransferableSkus][google.cloud.channel.v1.CloudChannelService.ListTransferableSkus] call.
+ // Optional.
+ string page_token = 3;
+
+ // Optional. The super admin of the resold customer generates this token to
+ // authorize a reseller to access their Cloud Identity and purchase
+ // entitlements on their behalf. You can omit this token after authorization.
+ // See https://support.google.com/a/answer/7643790 for more details.
+ string auth_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ // Optional.
+ string language_code = 6;
+}
+
+// Response message for [CloudChannelService.ListTransferableSkus][google.cloud.channel.v1.CloudChannelService.ListTransferableSkus].
+message ListTransferableSkusResponse {
+ // Information about existing SKUs for a customer that needs a transfer.
+ repeated TransferableSku transferable_skus = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListTransferableSkusRequest.page_token][google.cloud.channel.v1.ListTransferableSkusRequest.page_token] to obtain
+ // that page.
+ string next_page_token = 2;
+}
+
+// Request message for [CloudChannelService.ListTransferableOffers][google.cloud.channel.v1.CloudChannelService.ListTransferableOffers]
+message ListTransferableOffersRequest {
+ // Specifies the identity of transferred customer.
+ // Either a cloud_identity_id of the customer or the customer name is
+ // required to look up transferrable Offers.
+ oneof transferred_customer_identity {
+ // Customer's Cloud Identity ID
+ string cloud_identity_id = 4;
+
+ // A reseller should create a customer and use the resource name of
+ // that customer here.
+ string customer_name = 5;
+ }
+
+ // Required. The resource name of the reseller's account.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 offers.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 2;
+
+ // A token for a page of results other than the first page.
+ // Obtained using
+ // [ListTransferableOffersResponse.next_page_token][google.cloud.channel.v1.ListTransferableOffersResponse.next_page_token] of the previous
+ // [CloudChannelService.ListTransferableOffers][google.cloud.channel.v1.CloudChannelService.ListTransferableOffers] call.
+ string page_token = 3;
+
+ // Required. The SKU to look up Offers for.
+ string sku = 6 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 7 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.ListTransferableOffers][google.cloud.channel.v1.CloudChannelService.ListTransferableOffers].
+message ListTransferableOffersResponse {
+ // Information about Offers for a customer that can be used for
+ // transfer.
+ repeated TransferableOffer transferable_offers = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListTransferableOffersRequest.page_token][google.cloud.channel.v1.ListTransferableOffersRequest.page_token] to obtain
+ // that page.
+ string next_page_token = 2;
+}
+
+// TransferableOffer represents an Offer that can be used in Transfer.
+// Read-only.
+message TransferableOffer {
+ // Offer with parameter constraints updated to allow the Transfer.
+ Offer offer = 1;
+}
+
+// Request message for [CloudChannelService.GetEntitlement][google.cloud.channel.v1.CloudChannelService.GetEntitlement].
+message GetEntitlementRequest {
+ // Required. The resource name of the entitlement to retrieve.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks]
+message ListChannelPartnerLinksRequest {
+ // Required. The resource name of the reseller account for listing channel partner
+ // links.
+ // Parent uses the format: accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, server will pick a default size (25).
+ // The maximum value is 200; the server will coerce values above 200.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ // Obtained using
+ // [ListChannelPartnerLinksResponse.next_page_token][google.cloud.channel.v1.ListChannelPartnerLinksResponse.next_page_token] of the previous
+ // [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The level of granularity the ChannelPartnerLink will display.
+ ChannelPartnerLinkView view = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.ListChannelPartnerLinks][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinks].
+message ListChannelPartnerLinksResponse {
+ // The Channel partner links for a reseller.
+ repeated ChannelPartnerLink channel_partner_links = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListChannelPartnerLinksRequest.page_token][google.cloud.channel.v1.ListChannelPartnerLinksRequest.page_token] to obtain that page.
+ string next_page_token = 2;
+}
+
+// Request message for [CloudChannelService.GetChannelPartnerLink][google.cloud.channel.v1.CloudChannelService.GetChannelPartnerLink].
+message GetChannelPartnerLinkRequest {
+ // Required. The resource name of the channel partner link to retrieve.
+ // Name uses the format: accounts/{account_id}/channelPartnerLinks/{id}
+ // where {id} is the Cloud Identity ID of the partner.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The level of granularity the ChannelPartnerLink will display.
+ ChannelPartnerLinkView view = 2 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.CreateChannelPartnerLink][google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerLink]
+message CreateChannelPartnerLinkRequest {
+ // Required. Create a channel partner link for the provided reseller account's
+ // resource name.
+ // Parent uses the format: accounts/{account_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The channel partner link to create.
+ // Either channel_partner_link.reseller_cloud_identity_id or domain can be
+ // used to create a link.
+ ChannelPartnerLink channel_partner_link = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [CloudChannelService.UpdateChannelPartnerLink][google.cloud.channel.v1.CloudChannelService.UpdateChannelPartnerLink]
+message UpdateChannelPartnerLinkRequest {
+ // Required. The resource name of the channel partner link to cancel.
+ // Name uses the format: accounts/{account_id}/channelPartnerLinks/{id}
+ // where {id} is the Cloud Identity ID of the partner.
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The channel partner link to update. Only channel_partner_link.link_state
+ // is allowed for updates.
+ ChannelPartnerLink channel_partner_link = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The update mask that applies to the resource.
+ // The only allowable value for an update mask is
+ // channel_partner_link.link_state.
+ google.protobuf.FieldMask update_mask = 3 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [CloudChannelService.GetCustomerRepricingConfig][google.cloud.channel.v1.CloudChannelService.GetCustomerRepricingConfig].
+message GetCustomerRepricingConfigRequest {
+ // Required. The resource name of the CustomerRepricingConfig.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/CustomerRepricingConfig"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.ListCustomerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListCustomerRepricingConfigs].
+message ListCustomerRepricingConfigsRequest {
+ // Required. The resource name of the customer.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}.
+ // Supports accounts/{account_id}/customers/- to retrieve configs for all
+ // customers.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Optional. The maximum number of repricing configs to return. The service may return
+ // fewer than this value. If unspecified, returns a maximum of 50 rules. The
+ // maximum value is 100; values above 100 will be coerced to 100.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token identifying a page of results beyond the first page.
+ // Obtained through
+ // [ListCustomerRepricingConfigsResponse.next_page_token][google.cloud.channel.v1.ListCustomerRepricingConfigsResponse.next_page_token] of the previous
+ // [CloudChannelService.ListCustomerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListCustomerRepricingConfigs] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter for [CloudChannelService.ListCustomerRepricingConfigs]
+ // results (customer only). You can use this filter when you support
+ // a BatchGet-like query.
+ // To use the filter, you must set `parent=accounts/{account_id}/customers/-`.
+ //
+ // Example: customer = accounts/account_id/customers/c1 OR
+ // customer = accounts/account_id/customers/c2.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.ListCustomerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListCustomerRepricingConfigs].
+message ListCustomerRepricingConfigsResponse {
+ // The repricing configs for this channel partner.
+ repeated CustomerRepricingConfig customer_repricing_configs = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListCustomerRepricingConfigsRequest.page_token][google.cloud.channel.v1.ListCustomerRepricingConfigsRequest.page_token] to obtain that
+ // page.
+ string next_page_token = 2;
+}
+
+// Request message for [CloudChannelService.CreateCustomerRepricingConfig][google.cloud.channel.v1.CloudChannelService.CreateCustomerRepricingConfig].
+message CreateCustomerRepricingConfigRequest {
+ // Required. The resource name of the customer that will receive this repricing config.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Required. The CustomerRepricingConfig object to update.
+ CustomerRepricingConfig customer_repricing_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [CloudChannelService.UpdateCustomerRepricingConfig][google.cloud.channel.v1.CloudChannelService.UpdateCustomerRepricingConfig].
+message UpdateCustomerRepricingConfigRequest {
+ // Required. The CustomerRepricingConfig object to update.
+ CustomerRepricingConfig customer_repricing_config = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for [CloudChannelService.DeleteCustomerRepricingConfig][google.cloud.channel.v1.CloudChannelService.DeleteCustomerRepricingConfig].
+message DeleteCustomerRepricingConfigRequest {
+ // Required. The resource name of the customer repricing config rule to delete.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/customerRepricingConfigs/{id}.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/CustomerRepricingConfig"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.GetChannelPartnerRepricingConfig][google.cloud.channel.v1.CloudChannelService.GetChannelPartnerRepricingConfig]
+message GetChannelPartnerRepricingConfigRequest {
+ // Required. The resource name of the ChannelPartnerRepricingConfig
+ // Format:
+ // accounts/{account_id}/channelPartnerLinks/{channel_partner_id}/channelPartnerRepricingConfigs/{id}.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerRepricingConfig"
+ }
+ ];
+}
+
+// Request message for
+// [CloudChannelService.ListChannelPartnerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerRepricingConfigs].
+message ListChannelPartnerRepricingConfigsRequest {
+ // Required. The resource name of the account's [ChannelPartnerLink][google.cloud.channel.v1.ChannelPartnerLink].
+ // Parent uses the format:
+ // accounts/{account_id}/channelPartnerLinks/{channel_partner_id}.
+ // Supports accounts/{account_id}/channelPartnerLinks/- to retrieve configs
+ // for all channel partners.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerLink"
+ }
+ ];
+
+ // Optional. The maximum number of repricing configs to return. The service may return
+ // fewer than this value. If unspecified, returns a maximum of 50 rules. The
+ // maximum value is 100; values above 100 will be coerced to 100.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token identifying a page of results beyond the first page.
+ // Obtained through
+ // [ListChannelPartnerRepricingConfigsResponse.next_page_token][google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse.next_page_token] of the
+ // previous [CloudChannelService.ListChannelPartnerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerRepricingConfigs] call.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A filter for [CloudChannelService.ListChannelPartnerRepricingConfigs]
+ // results (channel_partner_link only). You can use this filter when you
+ // support a BatchGet-like query.
+ // To use the filter, you must set
+ // `parent=accounts/{account_id}/channelPartnerLinks/-`.
+ //
+ // Example: `channel_partner_link =
+ // accounts/account_id/channelPartnerLinks/c1` OR `channel_partner_link =
+ // accounts/account_id/channelPartnerLinks/c2`.
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for
+// [CloudChannelService.ListChannelPartnerRepricingConfigs][google.cloud.channel.v1.CloudChannelService.ListChannelPartnerRepricingConfigs].
+message ListChannelPartnerRepricingConfigsResponse {
+ // The repricing configs for this channel partner.
+ repeated ChannelPartnerRepricingConfig channel_partner_repricing_configs = 1;
+
+ // A token to retrieve the next page of results.
+ // Pass to [ListChannelPartnerRepricingConfigsRequest.page_token][google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest.page_token] to obtain
+ // that page.
+ string next_page_token = 2;
+}
+
+// Request message for
+// [CloudChannelService.CreateChannelPartnerRepricingConfig][google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerRepricingConfig].
+message CreateChannelPartnerRepricingConfigRequest {
+ // Required. The resource name of the ChannelPartner that will receive the repricing
+ // config. Parent uses the format:
+ // accounts/{account_id}/channelPartnerLinks/{channel_partner_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerLink"
+ }
+ ];
+
+ // Required. The ChannelPartnerRepricingConfig object to update.
+ ChannelPartnerRepricingConfig channel_partner_repricing_config = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for
+// [CloudChannelService.UpdateChannelPartnerRepricingConfig][google.cloud.channel.v1.CloudChannelService.UpdateChannelPartnerRepricingConfig].
+message UpdateChannelPartnerRepricingConfigRequest {
+ // Required. The ChannelPartnerRepricingConfig object to update.
+ ChannelPartnerRepricingConfig channel_partner_repricing_config = 1 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Request message for DeleteChannelPartnerRepricingConfig.
+message DeleteChannelPartnerRepricingConfigRequest {
+ // Required. The resource name of the channel partner repricing config rule to delete.
+ string name = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/ChannelPartnerRepricingConfig"
+ }
+ ];
+}
+
+// Request message for [CloudChannelService.CreateEntitlement][google.cloud.channel.v1.CloudChannelService.CreateEntitlement]
+message CreateEntitlementRequest {
+ // Required. The resource name of the reseller's customer account in which to create the
+ // entitlement.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Required. The entitlement to create.
+ Entitlement entitlement = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.TransferEntitlements][google.cloud.channel.v1.CloudChannelService.TransferEntitlements].
+message TransferEntitlementsRequest {
+ // Required. The resource name of the reseller's customer account that will receive
+ // transferred entitlements.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The new entitlements to create or transfer.
+ repeated Entitlement entitlements = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // The super admin of the resold customer generates this token to
+ // authorize a reseller to access their Cloud Identity and purchase
+ // entitlements on their behalf. You can omit this token after authorization.
+ // See https://support.google.com/a/answer/7643790 for more details.
+ string auth_token = 4;
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for [CloudChannelService.TransferEntitlements][google.cloud.channel.v1.CloudChannelService.TransferEntitlements].
+// This is put in the response field of google.longrunning.Operation.
+message TransferEntitlementsResponse {
+ // The transferred entitlements.
+ repeated Entitlement entitlements = 1;
+}
+
+// Request message for [CloudChannelService.TransferEntitlementsToGoogle][google.cloud.channel.v1.CloudChannelService.TransferEntitlementsToGoogle].
+message TransferEntitlementsToGoogleRequest {
+ // Required. The resource name of the reseller's customer account where the entitlements
+ // transfer from.
+ // Parent uses the format: accounts/{account_id}/customers/{customer_id}
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. The entitlements to transfer to Google.
+ repeated Entitlement entitlements = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.ChangeParametersRequest][].
+message ChangeParametersRequest {
+ // Required. The name of the entitlement to update.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Entitlement parameters to update. You can only change editable parameters.
+ //
+ // To view the available Parameters for a request, refer to the
+ // [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions] from the desired offer.
+ repeated Parameter parameters = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Purchase order ID provided by the reseller.
+ string purchase_order_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.ChangeRenewalSettings][google.cloud.channel.v1.CloudChannelService.ChangeRenewalSettings].
+message ChangeRenewalSettingsRequest {
+ // Required. The name of the entitlement to update.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. New renewal settings.
+ RenewalSettings renewal_settings = 4 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.ChangeOffer][google.cloud.channel.v1.CloudChannelService.ChangeOffer].
+message ChangeOfferRequest {
+ // Required. The resource name of the entitlement to update.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. New Offer.
+ // Format: accounts/{account_id}/offers/{offer_id}.
+ string offer = 2 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Offer"
+ }
+ ];
+
+ // Optional. Parameters needed to purchase the Offer. To view the available Parameters
+ // refer to the [Offer.parameter_definitions][google.cloud.channel.v1.Offer.parameter_definitions] from the desired offer.
+ repeated Parameter parameters = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. Purchase order id provided by the reseller.
+ string purchase_order_id = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.StartPaidService][google.cloud.channel.v1.CloudChannelService.StartPaidService].
+message StartPaidServiceRequest {
+ // Required. The name of the entitlement to start a paid service for.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.CancelEntitlement][google.cloud.channel.v1.CloudChannelService.CancelEntitlement].
+message CancelEntitlementRequest {
+ // Required. The resource name of the entitlement to cancel.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.SuspendEntitlement][google.cloud.channel.v1.CloudChannelService.SuspendEntitlement].
+message SuspendEntitlementRequest {
+ // Required. The resource name of the entitlement to suspend.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for [CloudChannelService.ActivateEntitlement][google.cloud.channel.v1.CloudChannelService.ActivateEntitlement].
+message ActivateEntitlementRequest {
+ // Required. The resource name of the entitlement to activate.
+ // Name uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string name = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. You can specify an optional unique request ID, and if you need to retry
+ // your request, the server will know to ignore the request if it's complete.
+ //
+ // For example, you make an initial request and the request times out. If you
+ // make the request again with the same request ID, the server can check if
+ // it received the original operation with the same request ID. If it did, it
+ // will ignore the second request.
+ //
+ // The request ID must be a valid [UUID](https://tools.ietf.org/html/rfc4122)
+ // with the exception that zero UUID is not supported
+ // (`00000000-0000-0000-0000-000000000000`).
+ string request_id = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Request message for LookupOffer.
+message LookupOfferRequest {
+ // Required. The resource name of the entitlement to retrieve the Offer.
+ // Entitlement uses the format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string entitlement = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ }
+ ];
+}
+
+// Request message for ListProducts.
+message ListProductsRequest {
+ // Required. The resource name of the reseller account.
+ // Format: accounts/{account_id}.
+ string account = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 Products.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 4 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for ListProducts.
+message ListProductsResponse {
+ // List of Products requested.
+ repeated Product products = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for ListSkus.
+message ListSkusRequest {
+ // Required. The resource name of the Product to list SKUs for.
+ // Parent uses the format: products/{product_id}.
+ // Supports products/- to retrieve SKUs for all products.
+ string parent = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Product"
+ }
+ ];
+
+ // Required. Resource name of the reseller.
+ // Format: accounts/{account_id}.
+ string account = 2 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 SKUs.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ // Optional.
+ string page_token = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for ListSkus.
+message ListSkusResponse {
+ // The list of SKUs requested.
+ repeated Sku skus = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for ListOffers.
+message ListOffersRequest {
+ // Required. The resource name of the reseller account from which to list Offers.
+ // Parent uses the format: accounts/{account_id}.
+ string parent = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 500 Offers.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The expression to filter results by name (name of
+ // the Offer), sku.name (name of the SKU), or sku.product.name (name of the
+ // Product).
+ // Example 1: sku.product.name=products/p1 AND sku.name!=products/p1/skus/s1
+ // Example 2: name=accounts/a1/offers/o1
+ string filter = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 5 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for ListOffers.
+message ListOffersResponse {
+ // The list of Offers requested.
+ repeated Offer offers = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Request message for ListPurchasableSkus.
+message ListPurchasableSkusRequest {
+ // List SKUs for a new entitlement. Make the purchase using
+ // [CloudChannelService.CreateEntitlement][google.cloud.channel.v1.CloudChannelService.CreateEntitlement].
+ message CreateEntitlementPurchase {
+ // Required. List SKUs belonging to this Product.
+ // Format: products/{product_id}.
+ // Supports products/- to retrieve SKUs for all products.
+ string product = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // List SKUs for upgrading or downgrading an entitlement. Make the purchase
+ // using [CloudChannelService.ChangeOffer][google.cloud.channel.v1.CloudChannelService.ChangeOffer].
+ message ChangeOfferPurchase {
+ // Change Type enum.
+ enum ChangeType {
+ // Not used.
+ CHANGE_TYPE_UNSPECIFIED = 0;
+
+ // SKU is an upgrade on the current entitlement.
+ UPGRADE = 1;
+
+ // SKU is a downgrade on the current entitlement.
+ DOWNGRADE = 2;
+ }
+
+ // Required. Resource name of the entitlement.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string entitlement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Change Type for the entitlement.
+ ChangeType change_type = 2 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // Defines the intended purchase.
+ oneof purchase_option {
+ // List SKUs for CreateEntitlement purchase.
+ CreateEntitlementPurchase create_entitlement_purchase = 2;
+
+ // List SKUs for ChangeOffer purchase with a new SKU.
+ ChangeOfferPurchase change_offer_purchase = 3;
+ }
+
+ // Required. The resource name of the customer to list SKUs for.
+ // Format: accounts/{account_id}/customers/{customer_id}.
+ string customer = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 SKUs.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for ListPurchasableSkus.
+message ListPurchasableSkusResponse {
+ // The list of SKUs requested.
+ repeated PurchasableSku purchasable_skus = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// SKU that you can purchase. This is used in ListPurchasableSku API
+// response.
+message PurchasableSku {
+ // SKU
+ Sku sku = 1;
+}
+
+// Request message for ListPurchasableOffers.
+message ListPurchasableOffersRequest {
+ // List Offers for CreateEntitlement purchase.
+ message CreateEntitlementPurchase {
+ // Required. SKU that the result should be restricted to.
+ // Format: products/{product_id}/skus/{sku_id}.
+ string sku = 1 [(google.api.field_behavior) = REQUIRED];
+ }
+
+ // List Offers for ChangeOffer purchase.
+ message ChangeOfferPurchase {
+ // Required. Resource name of the entitlement.
+ // Format:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string entitlement = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. Resource name of the new target SKU. Provide this SKU when
+ // upgrading or downgrading an entitlement. Format:
+ // products/{product_id}/skus/{sku_id}
+ string new_sku = 2 [(google.api.field_behavior) = OPTIONAL];
+ }
+
+ // Defines the intended purchase.
+ oneof purchase_option {
+ // List Offers for CreateEntitlement purchase.
+ CreateEntitlementPurchase create_entitlement_purchase = 2;
+
+ // List Offers for ChangeOffer purchase.
+ ChangeOfferPurchase change_offer_purchase = 3;
+ }
+
+ // Required. The resource name of the customer to list Offers for.
+ // Format: accounts/{account_id}/customers/{customer_id}.
+ string customer = 1 [
+ (google.api.field_behavior) = REQUIRED,
+ (google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }
+ ];
+
+ // Optional. Requested page size. Server might return fewer results than requested.
+ // If unspecified, returns at most 100 Offers.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 4 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A token for a page of results other than the first page.
+ string page_token = 5 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. The BCP-47 language code. For example, "en-US". The
+ // response will localize in the corresponding language code, if specified.
+ // The default value is "en-US".
+ string language_code = 6 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response message for ListPurchasableOffers.
+message ListPurchasableOffersResponse {
+ // The list of Offers requested.
+ repeated PurchasableOffer purchasable_offers = 1;
+
+ // A token to retrieve the next page of results.
+ string next_page_token = 2;
+}
+
+// Offer that you can purchase for a customer. This is used in the
+// ListPurchasableOffer API response.
+message PurchasableOffer {
+ // Offer.
+ Offer offer = 1;
+}
+
+// Request Message for RegisterSubscriber.
+message RegisterSubscriberRequest {
+ // Required. Resource name of the account.
+ string account = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Service account that provides subscriber access to the registered topic.
+ string service_account = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response Message for RegisterSubscriber.
+message RegisterSubscriberResponse {
+ // Name of the topic the subscriber will listen to.
+ string topic = 1;
+}
+
+// Request Message for UnregisterSubscriber.
+message UnregisterSubscriberRequest {
+ // Required. Resource name of the account.
+ string account = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Required. Service account to unregister from subscriber access to the topic.
+ string service_account = 2 [(google.api.field_behavior) = REQUIRED];
+}
+
+// Response Message for UnregisterSubscriber.
+message UnregisterSubscriberResponse {
+ // Name of the topic the service account subscriber access was removed from.
+ string topic = 1;
+}
+
+// Request Message for ListSubscribers.
+message ListSubscribersRequest {
+ // Required. Resource name of the account.
+ string account = 1 [(google.api.field_behavior) = REQUIRED];
+
+ // Optional. The maximum number of service accounts to return. The service may return
+ // fewer than this value.
+ // If unspecified, returns at most 100 service accounts.
+ // The maximum value is 1000; the server will coerce values above 1000.
+ int32 page_size = 2 [(google.api.field_behavior) = OPTIONAL];
+
+ // Optional. A page token, received from a previous `ListSubscribers` call.
+ // Provide this to retrieve the subsequent page.
+ //
+ // When paginating, all other parameters provided to `ListSubscribers` must
+ // match the call that provided the page token.
+ string page_token = 3 [(google.api.field_behavior) = OPTIONAL];
+}
+
+// Response Message for ListSubscribers.
+message ListSubscribersResponse {
+ // Name of the topic registered with the reseller.
+ string topic = 1;
+
+ // List of service accounts which have subscriber access to the topic.
+ repeated string service_accounts = 2;
+
+ // A token that can be sent as `page_token` to retrieve the next page.
+ // If this field is omitted, there are no subsequent pages.
+ string next_page_token = 3;
+}
diff --git a/packages/google-cloud-channel/protos/google/cloud/channel/v1/subscriber_event.proto b/packages/google-cloud-channel/protos/google/cloud/channel/v1/subscriber_event.proto
new file mode 100644
index 00000000000..3c67216ed65
--- /dev/null
+++ b/packages/google-cloud-channel/protos/google/cloud/channel/v1/subscriber_event.proto
@@ -0,0 +1,119 @@
+// Copyright 2022 Google LLC
+//
+// Licensed under the Apache License, Version 2.0 (the "License");
+// you may not use this file except in compliance with the License.
+// You may obtain a copy of the License at
+//
+// http://www.apache.org/licenses/LICENSE-2.0
+//
+// Unless required by applicable law or agreed to in writing, software
+// distributed under the License is distributed on an "AS IS" BASIS,
+// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
+// See the License for the specific language governing permissions and
+// limitations under the License.
+
+syntax = "proto3";
+
+package google.cloud.channel.v1;
+
+import "google/api/resource.proto";
+
+option go_package = "google.golang.org/genproto/googleapis/cloud/channel/v1;channel";
+option java_multiple_files = true;
+option java_outer_classname = "SubscriberEventProto";
+option java_package = "com.google.cloud.channel.v1";
+
+// Represents Pub/Sub message content describing customer update.
+message CustomerEvent {
+ // Type of customer event.
+ enum Type {
+ // Not used.
+ TYPE_UNSPECIFIED = 0;
+
+ // Primary domain for customer was changed.
+ PRIMARY_DOMAIN_CHANGED = 1;
+
+ // Primary domain of the customer has been verified.
+ PRIMARY_DOMAIN_VERIFIED = 2;
+ }
+
+ // Resource name of the customer.
+ // Format: accounts/{account_id}/customers/{customer_id}
+ string customer = 1 [(google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Customer"
+ }];
+
+ // Type of event which happened on the customer.
+ Type event_type = 2;
+}
+
+// Represents Pub/Sub message content describing entitlement update.
+message EntitlementEvent {
+ // Type of entitlement event.
+ enum Type {
+ // Not used.
+ TYPE_UNSPECIFIED = 0;
+
+ // A new entitlement was created.
+ CREATED = 1;
+
+ // The offer type associated with an entitlement was changed.
+ // This is not triggered if an entitlement converts from a commit offer to a
+ // flexible offer as part of a renewal.
+ PRICE_PLAN_SWITCHED = 3;
+
+ // Annual commitment for a commit plan was changed.
+ COMMITMENT_CHANGED = 4;
+
+ // An annual entitlement was renewed.
+ RENEWED = 5;
+
+ // Entitlement was suspended.
+ SUSPENDED = 6;
+
+ // Entitlement was unsuspended.
+ ACTIVATED = 7;
+
+ // Entitlement was cancelled.
+ CANCELLED = 8;
+
+ // Entitlement was upgraded or downgraded (e.g. from Google Workspace
+ // Business Standard to Google Workspace Business Plus).
+ SKU_CHANGED = 9;
+
+ // The renewal settings of an entitlement has changed.
+ RENEWAL_SETTING_CHANGED = 10;
+
+ // Paid service has started on trial entitlement.
+ PAID_SERVICE_STARTED = 11;
+
+ // License was assigned to or revoked from a user.
+ LICENSE_ASSIGNMENT_CHANGED = 12;
+
+ // License cap was changed for the entitlement.
+ LICENSE_CAP_CHANGED = 13;
+ }
+
+ // Resource name of an entitlement of the form:
+ // accounts/{account_id}/customers/{customer_id}/entitlements/{entitlement_id}
+ string entitlement = 1 [(google.api.resource_reference) = {
+ type: "cloudchannel.googleapis.com/Entitlement"
+ }];
+
+ // Type of event which happened on the entitlement.
+ Type event_type = 2;
+}
+
+// Represents information which resellers will get as part of notification from
+// Pub/Sub.
+message SubscriberEvent {
+ // Specifies the Pub/Sub event provided to the partners.
+ // This is a required field.
+ oneof event {
+ // Customer event sent as part of Pub/Sub event to partners.
+ CustomerEvent customer_event = 1;
+
+ // Entitlement event sent as part of Pub/Sub event to partners.
+ EntitlementEvent entitlement_event = 2;
+ }
+}
diff --git a/packages/google-cloud-channel/protos/protos.d.ts b/packages/google-cloud-channel/protos/protos.d.ts
new file mode 100644
index 00000000000..7d3c465c6f1
--- /dev/null
+++ b/packages/google-cloud-channel/protos/protos.d.ts
@@ -0,0 +1,21277 @@
+// 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 channel. */
+ namespace channel {
+
+ /** Namespace v1. */
+ namespace v1 {
+
+ /** ChannelPartnerLinkView enum. */
+ enum ChannelPartnerLinkView {
+ UNSPECIFIED = 0,
+ BASIC = 1,
+ FULL = 2
+ }
+
+ /** ChannelPartnerLinkState enum. */
+ enum ChannelPartnerLinkState {
+ CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED = 0,
+ INVITED = 1,
+ ACTIVE = 2,
+ REVOKED = 3,
+ SUSPENDED = 4
+ }
+
+ /** Properties of a ChannelPartnerLink. */
+ interface IChannelPartnerLink {
+
+ /** ChannelPartnerLink name */
+ name?: (string|null);
+
+ /** ChannelPartnerLink resellerCloudIdentityId */
+ resellerCloudIdentityId?: (string|null);
+
+ /** ChannelPartnerLink linkState */
+ linkState?: (google.cloud.channel.v1.ChannelPartnerLinkState|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkState|null);
+
+ /** ChannelPartnerLink inviteLinkUri */
+ inviteLinkUri?: (string|null);
+
+ /** ChannelPartnerLink createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ChannelPartnerLink updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ChannelPartnerLink publicId */
+ publicId?: (string|null);
+
+ /** ChannelPartnerLink channelPartnerCloudIdentityInfo */
+ channelPartnerCloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+ }
+
+ /** Represents a ChannelPartnerLink. */
+ class ChannelPartnerLink implements IChannelPartnerLink {
+
+ /**
+ * Constructs a new ChannelPartnerLink.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IChannelPartnerLink);
+
+ /** ChannelPartnerLink name. */
+ public name: string;
+
+ /** ChannelPartnerLink resellerCloudIdentityId. */
+ public resellerCloudIdentityId: string;
+
+ /** ChannelPartnerLink linkState. */
+ public linkState: (google.cloud.channel.v1.ChannelPartnerLinkState|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkState);
+
+ /** ChannelPartnerLink inviteLinkUri. */
+ public inviteLinkUri: string;
+
+ /** ChannelPartnerLink createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** ChannelPartnerLink updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** ChannelPartnerLink publicId. */
+ public publicId: string;
+
+ /** ChannelPartnerLink channelPartnerCloudIdentityInfo. */
+ public channelPartnerCloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+
+ /**
+ * Creates a new ChannelPartnerLink instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChannelPartnerLink instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IChannelPartnerLink): google.cloud.channel.v1.ChannelPartnerLink;
+
+ /**
+ * Encodes the specified ChannelPartnerLink message. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerLink.verify|verify} messages.
+ * @param message ChannelPartnerLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IChannelPartnerLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChannelPartnerLink message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerLink.verify|verify} messages.
+ * @param message ChannelPartnerLink message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IChannelPartnerLink, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChannelPartnerLink message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChannelPartnerLink
+ * @throws {Error} If the payload is not 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.channel.v1.ChannelPartnerLink;
+
+ /**
+ * Decodes a ChannelPartnerLink message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChannelPartnerLink
+ * @throws {Error} If the payload 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.channel.v1.ChannelPartnerLink;
+
+ /**
+ * Verifies a ChannelPartnerLink message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChannelPartnerLink message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChannelPartnerLink
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ChannelPartnerLink;
+
+ /**
+ * Creates a plain object from a ChannelPartnerLink message. Also converts values to other types if specified.
+ * @param message ChannelPartnerLink
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ChannelPartnerLink, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChannelPartnerLink to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChannelPartnerLink
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an EduData. */
+ interface IEduData {
+
+ /** EduData instituteType */
+ instituteType?: (google.cloud.channel.v1.EduData.InstituteType|keyof typeof google.cloud.channel.v1.EduData.InstituteType|null);
+
+ /** EduData instituteSize */
+ instituteSize?: (google.cloud.channel.v1.EduData.InstituteSize|keyof typeof google.cloud.channel.v1.EduData.InstituteSize|null);
+
+ /** EduData website */
+ website?: (string|null);
+ }
+
+ /** Represents an EduData. */
+ class EduData implements IEduData {
+
+ /**
+ * Constructs a new EduData.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IEduData);
+
+ /** EduData instituteType. */
+ public instituteType: (google.cloud.channel.v1.EduData.InstituteType|keyof typeof google.cloud.channel.v1.EduData.InstituteType);
+
+ /** EduData instituteSize. */
+ public instituteSize: (google.cloud.channel.v1.EduData.InstituteSize|keyof typeof google.cloud.channel.v1.EduData.InstituteSize);
+
+ /** EduData website. */
+ public website: string;
+
+ /**
+ * Creates a new EduData instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EduData instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IEduData): google.cloud.channel.v1.EduData;
+
+ /**
+ * Encodes the specified EduData message. Does not implicitly {@link google.cloud.channel.v1.EduData.verify|verify} messages.
+ * @param message EduData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IEduData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EduData message, length delimited. Does not implicitly {@link google.cloud.channel.v1.EduData.verify|verify} messages.
+ * @param message EduData message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IEduData, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EduData message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EduData
+ * @throws {Error} If the payload is not 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.channel.v1.EduData;
+
+ /**
+ * Decodes an EduData message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EduData
+ * @throws {Error} If the payload 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.channel.v1.EduData;
+
+ /**
+ * Verifies an EduData message.
+ * @param message Plain 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 EduData message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EduData
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.EduData;
+
+ /**
+ * Creates a plain object from an EduData message. Also converts values to other types if specified.
+ * @param message EduData
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.EduData, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EduData to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EduData
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EduData {
+
+ /** InstituteType enum. */
+ enum InstituteType {
+ INSTITUTE_TYPE_UNSPECIFIED = 0,
+ K12 = 1,
+ UNIVERSITY = 2
+ }
+
+ /** InstituteSize enum. */
+ enum InstituteSize {
+ INSTITUTE_SIZE_UNSPECIFIED = 0,
+ SIZE_1_100 = 1,
+ SIZE_101_500 = 2,
+ SIZE_501_1000 = 3,
+ SIZE_1001_2000 = 4,
+ SIZE_2001_5000 = 5,
+ SIZE_5001_10000 = 6,
+ SIZE_10001_OR_MORE = 7
+ }
+ }
+
+ /** Properties of a CloudIdentityInfo. */
+ interface ICloudIdentityInfo {
+
+ /** CloudIdentityInfo customerType */
+ customerType?: (google.cloud.channel.v1.CloudIdentityInfo.CustomerType|keyof typeof google.cloud.channel.v1.CloudIdentityInfo.CustomerType|null);
+
+ /** CloudIdentityInfo primaryDomain */
+ primaryDomain?: (string|null);
+
+ /** CloudIdentityInfo isDomainVerified */
+ isDomainVerified?: (boolean|null);
+
+ /** CloudIdentityInfo alternateEmail */
+ alternateEmail?: (string|null);
+
+ /** CloudIdentityInfo phoneNumber */
+ phoneNumber?: (string|null);
+
+ /** CloudIdentityInfo languageCode */
+ languageCode?: (string|null);
+
+ /** CloudIdentityInfo adminConsoleUri */
+ adminConsoleUri?: (string|null);
+
+ /** CloudIdentityInfo eduData */
+ eduData?: (google.cloud.channel.v1.IEduData|null);
+ }
+
+ /** Represents a CloudIdentityInfo. */
+ class CloudIdentityInfo implements ICloudIdentityInfo {
+
+ /**
+ * Constructs a new CloudIdentityInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICloudIdentityInfo);
+
+ /** CloudIdentityInfo customerType. */
+ public customerType: (google.cloud.channel.v1.CloudIdentityInfo.CustomerType|keyof typeof google.cloud.channel.v1.CloudIdentityInfo.CustomerType);
+
+ /** CloudIdentityInfo primaryDomain. */
+ public primaryDomain: string;
+
+ /** CloudIdentityInfo isDomainVerified. */
+ public isDomainVerified: boolean;
+
+ /** CloudIdentityInfo alternateEmail. */
+ public alternateEmail: string;
+
+ /** CloudIdentityInfo phoneNumber. */
+ public phoneNumber: string;
+
+ /** CloudIdentityInfo languageCode. */
+ public languageCode: string;
+
+ /** CloudIdentityInfo adminConsoleUri. */
+ public adminConsoleUri: string;
+
+ /** CloudIdentityInfo eduData. */
+ public eduData?: (google.cloud.channel.v1.IEduData|null);
+
+ /**
+ * Creates a new CloudIdentityInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudIdentityInfo instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICloudIdentityInfo): google.cloud.channel.v1.CloudIdentityInfo;
+
+ /**
+ * Encodes the specified CloudIdentityInfo message. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityInfo.verify|verify} messages.
+ * @param message CloudIdentityInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICloudIdentityInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudIdentityInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityInfo.verify|verify} messages.
+ * @param message CloudIdentityInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICloudIdentityInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudIdentityInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudIdentityInfo
+ * @throws {Error} If the payload is not 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.channel.v1.CloudIdentityInfo;
+
+ /**
+ * Decodes a CloudIdentityInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudIdentityInfo
+ * @throws {Error} If the payload 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.channel.v1.CloudIdentityInfo;
+
+ /**
+ * Verifies a CloudIdentityInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudIdentityInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudIdentityInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CloudIdentityInfo;
+
+ /**
+ * Creates a plain object from a CloudIdentityInfo message. Also converts values to other types if specified.
+ * @param message CloudIdentityInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CloudIdentityInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudIdentityInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudIdentityInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CloudIdentityInfo {
+
+ /** CustomerType enum. */
+ enum CustomerType {
+ CUSTOMER_TYPE_UNSPECIFIED = 0,
+ DOMAIN = 1,
+ TEAM = 2
+ }
+ }
+
+ /** Properties of a Value. */
+ interface IValue {
+
+ /** Value int64Value */
+ int64Value?: (number|Long|string|null);
+
+ /** Value stringValue */
+ stringValue?: (string|null);
+
+ /** Value doubleValue */
+ doubleValue?: (number|null);
+
+ /** Value protoValue */
+ protoValue?: (google.protobuf.IAny|null);
+
+ /** Value boolValue */
+ boolValue?: (boolean|null);
+ }
+
+ /** Represents a Value. */
+ class Value implements IValue {
+
+ /**
+ * Constructs a new Value.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IValue);
+
+ /** Value int64Value. */
+ public int64Value?: (number|Long|string|null);
+
+ /** Value stringValue. */
+ public stringValue?: (string|null);
+
+ /** Value doubleValue. */
+ public doubleValue?: (number|null);
+
+ /** Value protoValue. */
+ public protoValue?: (google.protobuf.IAny|null);
+
+ /** Value boolValue. */
+ public boolValue?: (boolean|null);
+
+ /** Value kind. */
+ public kind?: ("int64Value"|"stringValue"|"doubleValue"|"protoValue"|"boolValue");
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Value instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IValue): google.cloud.channel.v1.Value;
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.cloud.channel.v1.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Value.verify|verify} messages.
+ * @param message Value message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.cloud.channel.v1.Value;
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.cloud.channel.v1.Value;
+
+ /**
+ * Verifies a Value message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Value
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Value;
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @param message Value
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Value, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Value to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Value
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AdminUser. */
+ interface IAdminUser {
+
+ /** AdminUser email */
+ email?: (string|null);
+
+ /** AdminUser givenName */
+ givenName?: (string|null);
+
+ /** AdminUser familyName */
+ familyName?: (string|null);
+ }
+
+ /** Represents an AdminUser. */
+ class AdminUser implements IAdminUser {
+
+ /**
+ * Constructs a new AdminUser.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IAdminUser);
+
+ /** AdminUser email. */
+ public email: string;
+
+ /** AdminUser givenName. */
+ public givenName: string;
+
+ /** AdminUser familyName. */
+ public familyName: string;
+
+ /**
+ * Creates a new AdminUser instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AdminUser instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IAdminUser): google.cloud.channel.v1.AdminUser;
+
+ /**
+ * Encodes the specified AdminUser message. Does not implicitly {@link google.cloud.channel.v1.AdminUser.verify|verify} messages.
+ * @param message AdminUser message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IAdminUser, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AdminUser message, length delimited. Does not implicitly {@link google.cloud.channel.v1.AdminUser.verify|verify} messages.
+ * @param message AdminUser message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IAdminUser, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AdminUser message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AdminUser
+ * @throws {Error} If the payload is not 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.channel.v1.AdminUser;
+
+ /**
+ * Decodes an AdminUser message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AdminUser
+ * @throws {Error} If the payload 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.channel.v1.AdminUser;
+
+ /**
+ * Verifies an AdminUser message.
+ * @param message Plain 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 AdminUser message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AdminUser
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.AdminUser;
+
+ /**
+ * Creates a plain object from an AdminUser message. Also converts values to other types if specified.
+ * @param message AdminUser
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.AdminUser, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AdminUser to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AdminUser
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Customer. */
+ interface ICustomer {
+
+ /** Customer name */
+ name?: (string|null);
+
+ /** Customer orgDisplayName */
+ orgDisplayName?: (string|null);
+
+ /** Customer orgPostalAddress */
+ orgPostalAddress?: (google.type.IPostalAddress|null);
+
+ /** Customer primaryContactInfo */
+ primaryContactInfo?: (google.cloud.channel.v1.IContactInfo|null);
+
+ /** Customer alternateEmail */
+ alternateEmail?: (string|null);
+
+ /** Customer domain */
+ domain?: (string|null);
+
+ /** Customer createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Customer updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Customer cloudIdentityId */
+ cloudIdentityId?: (string|null);
+
+ /** Customer languageCode */
+ languageCode?: (string|null);
+
+ /** Customer cloudIdentityInfo */
+ cloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+
+ /** Customer channelPartnerId */
+ channelPartnerId?: (string|null);
+ }
+
+ /** Represents a Customer. */
+ class Customer implements ICustomer {
+
+ /**
+ * Constructs a new Customer.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICustomer);
+
+ /** Customer name. */
+ public name: string;
+
+ /** Customer orgDisplayName. */
+ public orgDisplayName: string;
+
+ /** Customer orgPostalAddress. */
+ public orgPostalAddress?: (google.type.IPostalAddress|null);
+
+ /** Customer primaryContactInfo. */
+ public primaryContactInfo?: (google.cloud.channel.v1.IContactInfo|null);
+
+ /** Customer alternateEmail. */
+ public alternateEmail: string;
+
+ /** Customer domain. */
+ public domain: string;
+
+ /** Customer createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Customer updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Customer cloudIdentityId. */
+ public cloudIdentityId: string;
+
+ /** Customer languageCode. */
+ public languageCode: string;
+
+ /** Customer cloudIdentityInfo. */
+ public cloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+
+ /** Customer channelPartnerId. */
+ public channelPartnerId: string;
+
+ /**
+ * Creates a new Customer instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Customer instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICustomer): google.cloud.channel.v1.Customer;
+
+ /**
+ * Encodes the specified Customer message. Does not implicitly {@link google.cloud.channel.v1.Customer.verify|verify} messages.
+ * @param message Customer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICustomer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Customer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Customer.verify|verify} messages.
+ * @param message Customer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICustomer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Customer message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Customer
+ * @throws {Error} If the payload is not 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.channel.v1.Customer;
+
+ /**
+ * Decodes a Customer message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Customer
+ * @throws {Error} If the payload 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.channel.v1.Customer;
+
+ /**
+ * Verifies a Customer message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Customer message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Customer
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Customer;
+
+ /**
+ * Creates a plain object from a Customer message. Also converts values to other types if specified.
+ * @param message Customer
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Customer, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Customer to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Customer
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ContactInfo. */
+ interface IContactInfo {
+
+ /** ContactInfo firstName */
+ firstName?: (string|null);
+
+ /** ContactInfo lastName */
+ lastName?: (string|null);
+
+ /** ContactInfo displayName */
+ displayName?: (string|null);
+
+ /** ContactInfo email */
+ email?: (string|null);
+
+ /** ContactInfo title */
+ title?: (string|null);
+
+ /** ContactInfo phone */
+ phone?: (string|null);
+ }
+
+ /** Represents a ContactInfo. */
+ class ContactInfo implements IContactInfo {
+
+ /**
+ * Constructs a new ContactInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IContactInfo);
+
+ /** ContactInfo firstName. */
+ public firstName: string;
+
+ /** ContactInfo lastName. */
+ public lastName: string;
+
+ /** ContactInfo displayName. */
+ public displayName: string;
+
+ /** ContactInfo email. */
+ public email: string;
+
+ /** ContactInfo title. */
+ public title: string;
+
+ /** ContactInfo phone. */
+ public phone: string;
+
+ /**
+ * Creates a new ContactInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ContactInfo instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IContactInfo): google.cloud.channel.v1.ContactInfo;
+
+ /**
+ * Encodes the specified ContactInfo message. Does not implicitly {@link google.cloud.channel.v1.ContactInfo.verify|verify} messages.
+ * @param message ContactInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IContactInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ContactInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ContactInfo.verify|verify} messages.
+ * @param message ContactInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IContactInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ContactInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ContactInfo
+ * @throws {Error} If the payload is not 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.channel.v1.ContactInfo;
+
+ /**
+ * Decodes a ContactInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ContactInfo
+ * @throws {Error} If the payload 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.channel.v1.ContactInfo;
+
+ /**
+ * Verifies a ContactInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ContactInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ContactInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ContactInfo;
+
+ /**
+ * Creates a plain object from a ContactInfo message. Also converts values to other types if specified.
+ * @param message ContactInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ContactInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ContactInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ContactInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Entitlement. */
+ interface IEntitlement {
+
+ /** Entitlement name */
+ name?: (string|null);
+
+ /** Entitlement createTime */
+ createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Entitlement updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Entitlement offer */
+ offer?: (string|null);
+
+ /** Entitlement commitmentSettings */
+ commitmentSettings?: (google.cloud.channel.v1.ICommitmentSettings|null);
+
+ /** Entitlement provisioningState */
+ provisioningState?: (google.cloud.channel.v1.Entitlement.ProvisioningState|keyof typeof google.cloud.channel.v1.Entitlement.ProvisioningState|null);
+
+ /** Entitlement provisionedService */
+ provisionedService?: (google.cloud.channel.v1.IProvisionedService|null);
+
+ /** Entitlement suspensionReasons */
+ suspensionReasons?: (google.cloud.channel.v1.Entitlement.SuspensionReason[]|null);
+
+ /** Entitlement purchaseOrderId */
+ purchaseOrderId?: (string|null);
+
+ /** Entitlement trialSettings */
+ trialSettings?: (google.cloud.channel.v1.ITrialSettings|null);
+
+ /** Entitlement associationInfo */
+ associationInfo?: (google.cloud.channel.v1.IAssociationInfo|null);
+
+ /** Entitlement parameters */
+ parameters?: (google.cloud.channel.v1.IParameter[]|null);
+ }
+
+ /** Represents an Entitlement. */
+ class Entitlement implements IEntitlement {
+
+ /**
+ * Constructs a new Entitlement.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IEntitlement);
+
+ /** Entitlement name. */
+ public name: string;
+
+ /** Entitlement createTime. */
+ public createTime?: (google.protobuf.ITimestamp|null);
+
+ /** Entitlement updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /** Entitlement offer. */
+ public offer: string;
+
+ /** Entitlement commitmentSettings. */
+ public commitmentSettings?: (google.cloud.channel.v1.ICommitmentSettings|null);
+
+ /** Entitlement provisioningState. */
+ public provisioningState: (google.cloud.channel.v1.Entitlement.ProvisioningState|keyof typeof google.cloud.channel.v1.Entitlement.ProvisioningState);
+
+ /** Entitlement provisionedService. */
+ public provisionedService?: (google.cloud.channel.v1.IProvisionedService|null);
+
+ /** Entitlement suspensionReasons. */
+ public suspensionReasons: google.cloud.channel.v1.Entitlement.SuspensionReason[];
+
+ /** Entitlement purchaseOrderId. */
+ public purchaseOrderId: string;
+
+ /** Entitlement trialSettings. */
+ public trialSettings?: (google.cloud.channel.v1.ITrialSettings|null);
+
+ /** Entitlement associationInfo. */
+ public associationInfo?: (google.cloud.channel.v1.IAssociationInfo|null);
+
+ /** Entitlement parameters. */
+ public parameters: google.cloud.channel.v1.IParameter[];
+
+ /**
+ * Creates a new Entitlement instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Entitlement instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IEntitlement): google.cloud.channel.v1.Entitlement;
+
+ /**
+ * Encodes the specified Entitlement message. Does not implicitly {@link google.cloud.channel.v1.Entitlement.verify|verify} messages.
+ * @param message Entitlement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IEntitlement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Entitlement message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Entitlement.verify|verify} messages.
+ * @param message Entitlement message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IEntitlement, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Entitlement message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Entitlement
+ * @throws {Error} If the payload is not 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.channel.v1.Entitlement;
+
+ /**
+ * Decodes an Entitlement message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Entitlement
+ * @throws {Error} If the payload 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.channel.v1.Entitlement;
+
+ /**
+ * Verifies an Entitlement message.
+ * @param message Plain 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 Entitlement message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Entitlement
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Entitlement;
+
+ /**
+ * Creates a plain object from an Entitlement message. Also converts values to other types if specified.
+ * @param message Entitlement
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Entitlement, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Entitlement to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Entitlement
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Entitlement {
+
+ /** ProvisioningState enum. */
+ enum ProvisioningState {
+ PROVISIONING_STATE_UNSPECIFIED = 0,
+ ACTIVE = 1,
+ SUSPENDED = 5
+ }
+
+ /** SuspensionReason enum. */
+ enum SuspensionReason {
+ SUSPENSION_REASON_UNSPECIFIED = 0,
+ RESELLER_INITIATED = 1,
+ TRIAL_ENDED = 2,
+ RENEWAL_WITH_TYPE_CANCEL = 3,
+ PENDING_TOS_ACCEPTANCE = 4,
+ OTHER = 100
+ }
+ }
+
+ /** Properties of a Parameter. */
+ interface IParameter {
+
+ /** Parameter name */
+ name?: (string|null);
+
+ /** Parameter value */
+ value?: (google.cloud.channel.v1.IValue|null);
+
+ /** Parameter editable */
+ editable?: (boolean|null);
+ }
+
+ /** Represents a Parameter. */
+ class Parameter implements IParameter {
+
+ /**
+ * Constructs a new Parameter.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IParameter);
+
+ /** Parameter name. */
+ public name: string;
+
+ /** Parameter value. */
+ public value?: (google.cloud.channel.v1.IValue|null);
+
+ /** Parameter editable. */
+ public editable: boolean;
+
+ /**
+ * Creates a new Parameter instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Parameter instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IParameter): google.cloud.channel.v1.Parameter;
+
+ /**
+ * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.channel.v1.Parameter.verify|verify} messages.
+ * @param message Parameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Parameter.verify|verify} messages.
+ * @param message Parameter message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IParameter, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Parameter message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Parameter
+ * @throws {Error} If the payload is not 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.channel.v1.Parameter;
+
+ /**
+ * Decodes a Parameter message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Parameter
+ * @throws {Error} If the payload 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.channel.v1.Parameter;
+
+ /**
+ * Verifies a Parameter message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Parameter
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Parameter;
+
+ /**
+ * Creates a plain object from a Parameter message. Also converts values to other types if specified.
+ * @param message Parameter
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Parameter, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Parameter to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Parameter
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an AssociationInfo. */
+ interface IAssociationInfo {
+
+ /** AssociationInfo baseEntitlement */
+ baseEntitlement?: (string|null);
+ }
+
+ /** Represents an AssociationInfo. */
+ class AssociationInfo implements IAssociationInfo {
+
+ /**
+ * Constructs a new AssociationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IAssociationInfo);
+
+ /** AssociationInfo baseEntitlement. */
+ public baseEntitlement: string;
+
+ /**
+ * Creates a new AssociationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns AssociationInfo instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IAssociationInfo): google.cloud.channel.v1.AssociationInfo;
+
+ /**
+ * Encodes the specified AssociationInfo message. Does not implicitly {@link google.cloud.channel.v1.AssociationInfo.verify|verify} messages.
+ * @param message AssociationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IAssociationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified AssociationInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.AssociationInfo.verify|verify} messages.
+ * @param message AssociationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IAssociationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an AssociationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns AssociationInfo
+ * @throws {Error} If the payload is not 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.channel.v1.AssociationInfo;
+
+ /**
+ * Decodes an AssociationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns AssociationInfo
+ * @throws {Error} If the payload 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.channel.v1.AssociationInfo;
+
+ /**
+ * Verifies an AssociationInfo message.
+ * @param message Plain 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 AssociationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns AssociationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.AssociationInfo;
+
+ /**
+ * Creates a plain object from an AssociationInfo message. Also converts values to other types if specified.
+ * @param message AssociationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.AssociationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this AssociationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for AssociationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProvisionedService. */
+ interface IProvisionedService {
+
+ /** ProvisionedService provisioningId */
+ provisioningId?: (string|null);
+
+ /** ProvisionedService productId */
+ productId?: (string|null);
+
+ /** ProvisionedService skuId */
+ skuId?: (string|null);
+ }
+
+ /** Represents a ProvisionedService. */
+ class ProvisionedService implements IProvisionedService {
+
+ /**
+ * Constructs a new ProvisionedService.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IProvisionedService);
+
+ /** ProvisionedService provisioningId. */
+ public provisioningId: string;
+
+ /** ProvisionedService productId. */
+ public productId: string;
+
+ /** ProvisionedService skuId. */
+ public skuId: string;
+
+ /**
+ * Creates a new ProvisionedService instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProvisionedService instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IProvisionedService): google.cloud.channel.v1.ProvisionedService;
+
+ /**
+ * Encodes the specified ProvisionedService message. Does not implicitly {@link google.cloud.channel.v1.ProvisionedService.verify|verify} messages.
+ * @param message ProvisionedService message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IProvisionedService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProvisionedService message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ProvisionedService.verify|verify} messages.
+ * @param message ProvisionedService message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IProvisionedService, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProvisionedService message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProvisionedService
+ * @throws {Error} If the payload is not 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.channel.v1.ProvisionedService;
+
+ /**
+ * Decodes a ProvisionedService message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProvisionedService
+ * @throws {Error} If the payload 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.channel.v1.ProvisionedService;
+
+ /**
+ * Verifies a ProvisionedService message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProvisionedService message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProvisionedService
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ProvisionedService;
+
+ /**
+ * Creates a plain object from a ProvisionedService message. Also converts values to other types if specified.
+ * @param message ProvisionedService
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ProvisionedService, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProvisionedService to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProvisionedService
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CommitmentSettings. */
+ interface ICommitmentSettings {
+
+ /** CommitmentSettings startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommitmentSettings endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommitmentSettings renewalSettings */
+ renewalSettings?: (google.cloud.channel.v1.IRenewalSettings|null);
+ }
+
+ /** Represents a CommitmentSettings. */
+ class CommitmentSettings implements ICommitmentSettings {
+
+ /**
+ * Constructs a new CommitmentSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICommitmentSettings);
+
+ /** CommitmentSettings startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommitmentSettings endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** CommitmentSettings renewalSettings. */
+ public renewalSettings?: (google.cloud.channel.v1.IRenewalSettings|null);
+
+ /**
+ * Creates a new CommitmentSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CommitmentSettings instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICommitmentSettings): google.cloud.channel.v1.CommitmentSettings;
+
+ /**
+ * Encodes the specified CommitmentSettings message. Does not implicitly {@link google.cloud.channel.v1.CommitmentSettings.verify|verify} messages.
+ * @param message CommitmentSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICommitmentSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CommitmentSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CommitmentSettings.verify|verify} messages.
+ * @param message CommitmentSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICommitmentSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CommitmentSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CommitmentSettings
+ * @throws {Error} If the payload is not 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.channel.v1.CommitmentSettings;
+
+ /**
+ * Decodes a CommitmentSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CommitmentSettings
+ * @throws {Error} If the payload 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.channel.v1.CommitmentSettings;
+
+ /**
+ * Verifies a CommitmentSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CommitmentSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CommitmentSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CommitmentSettings;
+
+ /**
+ * Creates a plain object from a CommitmentSettings message. Also converts values to other types if specified.
+ * @param message CommitmentSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CommitmentSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CommitmentSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CommitmentSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RenewalSettings. */
+ interface IRenewalSettings {
+
+ /** RenewalSettings enableRenewal */
+ enableRenewal?: (boolean|null);
+
+ /** RenewalSettings resizeUnitCount */
+ resizeUnitCount?: (boolean|null);
+
+ /** RenewalSettings paymentPlan */
+ paymentPlan?: (google.cloud.channel.v1.PaymentPlan|keyof typeof google.cloud.channel.v1.PaymentPlan|null);
+
+ /** RenewalSettings paymentCycle */
+ paymentCycle?: (google.cloud.channel.v1.IPeriod|null);
+ }
+
+ /** Represents a RenewalSettings. */
+ class RenewalSettings implements IRenewalSettings {
+
+ /**
+ * Constructs a new RenewalSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRenewalSettings);
+
+ /** RenewalSettings enableRenewal. */
+ public enableRenewal: boolean;
+
+ /** RenewalSettings resizeUnitCount. */
+ public resizeUnitCount: boolean;
+
+ /** RenewalSettings paymentPlan. */
+ public paymentPlan: (google.cloud.channel.v1.PaymentPlan|keyof typeof google.cloud.channel.v1.PaymentPlan);
+
+ /** RenewalSettings paymentCycle. */
+ public paymentCycle?: (google.cloud.channel.v1.IPeriod|null);
+
+ /**
+ * Creates a new RenewalSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RenewalSettings instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRenewalSettings): google.cloud.channel.v1.RenewalSettings;
+
+ /**
+ * Encodes the specified RenewalSettings message. Does not implicitly {@link google.cloud.channel.v1.RenewalSettings.verify|verify} messages.
+ * @param message RenewalSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRenewalSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RenewalSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RenewalSettings.verify|verify} messages.
+ * @param message RenewalSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRenewalSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RenewalSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RenewalSettings
+ * @throws {Error} If the payload is not 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.channel.v1.RenewalSettings;
+
+ /**
+ * Decodes a RenewalSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RenewalSettings
+ * @throws {Error} If the payload 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.channel.v1.RenewalSettings;
+
+ /**
+ * Verifies a RenewalSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RenewalSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RenewalSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RenewalSettings;
+
+ /**
+ * Creates a plain object from a RenewalSettings message. Also converts values to other types if specified.
+ * @param message RenewalSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RenewalSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RenewalSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RenewalSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TrialSettings. */
+ interface ITrialSettings {
+
+ /** TrialSettings trial */
+ trial?: (boolean|null);
+
+ /** TrialSettings endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a TrialSettings. */
+ class TrialSettings implements ITrialSettings {
+
+ /**
+ * Constructs a new TrialSettings.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITrialSettings);
+
+ /** TrialSettings trial. */
+ public trial: boolean;
+
+ /** TrialSettings endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new TrialSettings instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TrialSettings instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITrialSettings): google.cloud.channel.v1.TrialSettings;
+
+ /**
+ * Encodes the specified TrialSettings message. Does not implicitly {@link google.cloud.channel.v1.TrialSettings.verify|verify} messages.
+ * @param message TrialSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITrialSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TrialSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TrialSettings.verify|verify} messages.
+ * @param message TrialSettings message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITrialSettings, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TrialSettings message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TrialSettings
+ * @throws {Error} If the payload is not 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.channel.v1.TrialSettings;
+
+ /**
+ * Decodes a TrialSettings message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TrialSettings
+ * @throws {Error} If the payload 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.channel.v1.TrialSettings;
+
+ /**
+ * Verifies a TrialSettings message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TrialSettings message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TrialSettings
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TrialSettings;
+
+ /**
+ * Creates a plain object from a TrialSettings message. Also converts values to other types if specified.
+ * @param message TrialSettings
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TrialSettings, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TrialSettings to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TrialSettings
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferableSku. */
+ interface ITransferableSku {
+
+ /** TransferableSku transferEligibility */
+ transferEligibility?: (google.cloud.channel.v1.ITransferEligibility|null);
+
+ /** TransferableSku sku */
+ sku?: (google.cloud.channel.v1.ISku|null);
+
+ /** TransferableSku legacySku */
+ legacySku?: (google.cloud.channel.v1.ISku|null);
+ }
+
+ /** Represents a TransferableSku. */
+ class TransferableSku implements ITransferableSku {
+
+ /**
+ * Constructs a new TransferableSku.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferableSku);
+
+ /** TransferableSku transferEligibility. */
+ public transferEligibility?: (google.cloud.channel.v1.ITransferEligibility|null);
+
+ /** TransferableSku sku. */
+ public sku?: (google.cloud.channel.v1.ISku|null);
+
+ /** TransferableSku legacySku. */
+ public legacySku?: (google.cloud.channel.v1.ISku|null);
+
+ /**
+ * Creates a new TransferableSku instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferableSku instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferableSku): google.cloud.channel.v1.TransferableSku;
+
+ /**
+ * Encodes the specified TransferableSku message. Does not implicitly {@link google.cloud.channel.v1.TransferableSku.verify|verify} messages.
+ * @param message TransferableSku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferableSku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferableSku message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferableSku.verify|verify} messages.
+ * @param message TransferableSku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferableSku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferableSku message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferableSku
+ * @throws {Error} If the payload is not 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.channel.v1.TransferableSku;
+
+ /**
+ * Decodes a TransferableSku message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferableSku
+ * @throws {Error} If the payload 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.channel.v1.TransferableSku;
+
+ /**
+ * Verifies a TransferableSku message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferableSku message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferableSku
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferableSku;
+
+ /**
+ * Creates a plain object from a TransferableSku message. Also converts values to other types if specified.
+ * @param message TransferableSku
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferableSku, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferableSku to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferableSku
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferEligibility. */
+ interface ITransferEligibility {
+
+ /** TransferEligibility isEligible */
+ isEligible?: (boolean|null);
+
+ /** TransferEligibility description */
+ description?: (string|null);
+
+ /** TransferEligibility ineligibilityReason */
+ ineligibilityReason?: (google.cloud.channel.v1.TransferEligibility.Reason|keyof typeof google.cloud.channel.v1.TransferEligibility.Reason|null);
+ }
+
+ /** Represents a TransferEligibility. */
+ class TransferEligibility implements ITransferEligibility {
+
+ /**
+ * Constructs a new TransferEligibility.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferEligibility);
+
+ /** TransferEligibility isEligible. */
+ public isEligible: boolean;
+
+ /** TransferEligibility description. */
+ public description: string;
+
+ /** TransferEligibility ineligibilityReason. */
+ public ineligibilityReason: (google.cloud.channel.v1.TransferEligibility.Reason|keyof typeof google.cloud.channel.v1.TransferEligibility.Reason);
+
+ /**
+ * Creates a new TransferEligibility instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferEligibility instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferEligibility): google.cloud.channel.v1.TransferEligibility;
+
+ /**
+ * Encodes the specified TransferEligibility message. Does not implicitly {@link google.cloud.channel.v1.TransferEligibility.verify|verify} messages.
+ * @param message TransferEligibility message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferEligibility, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferEligibility message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferEligibility.verify|verify} messages.
+ * @param message TransferEligibility message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferEligibility, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferEligibility message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferEligibility
+ * @throws {Error} If the payload is not 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.channel.v1.TransferEligibility;
+
+ /**
+ * Decodes a TransferEligibility message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferEligibility
+ * @throws {Error} If the payload 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.channel.v1.TransferEligibility;
+
+ /**
+ * Verifies a TransferEligibility message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferEligibility message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferEligibility
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferEligibility;
+
+ /**
+ * Creates a plain object from a TransferEligibility message. Also converts values to other types if specified.
+ * @param message TransferEligibility
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferEligibility, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferEligibility to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferEligibility
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace TransferEligibility {
+
+ /** Reason enum. */
+ enum Reason {
+ REASON_UNSPECIFIED = 0,
+ PENDING_TOS_ACCEPTANCE = 1,
+ SKU_NOT_ELIGIBLE = 2,
+ SKU_SUSPENDED = 3
+ }
+ }
+
+ /** PromotionalOrderType enum. */
+ enum PromotionalOrderType {
+ PROMOTIONAL_TYPE_UNSPECIFIED = 0,
+ NEW_UPGRADE = 1,
+ TRANSFER = 2,
+ PROMOTION_SWITCH = 3
+ }
+
+ /** PaymentPlan enum. */
+ enum PaymentPlan {
+ PAYMENT_PLAN_UNSPECIFIED = 0,
+ COMMITMENT = 1,
+ FLEXIBLE = 2,
+ FREE = 3,
+ TRIAL = 4,
+ OFFLINE = 5
+ }
+
+ /** PaymentType enum. */
+ enum PaymentType {
+ PAYMENT_TYPE_UNSPECIFIED = 0,
+ PREPAY = 1,
+ POSTPAY = 2
+ }
+
+ /** ResourceType enum. */
+ enum ResourceType {
+ RESOURCE_TYPE_UNSPECIFIED = 0,
+ SEAT = 1,
+ MAU = 2,
+ GB = 3,
+ LICENSED_USER = 4,
+ MINUTES = 5,
+ IAAS_USAGE = 6,
+ SUBSCRIPTION = 7
+ }
+
+ /** PeriodType enum. */
+ enum PeriodType {
+ PERIOD_TYPE_UNSPECIFIED = 0,
+ DAY = 1,
+ MONTH = 2,
+ YEAR = 3
+ }
+
+ /** Properties of an Offer. */
+ interface IOffer {
+
+ /** Offer name */
+ name?: (string|null);
+
+ /** Offer marketingInfo */
+ marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+
+ /** Offer sku */
+ sku?: (google.cloud.channel.v1.ISku|null);
+
+ /** Offer plan */
+ plan?: (google.cloud.channel.v1.IPlan|null);
+
+ /** Offer constraints */
+ constraints?: (google.cloud.channel.v1.IConstraints|null);
+
+ /** Offer priceByResources */
+ priceByResources?: (google.cloud.channel.v1.IPriceByResource[]|null);
+
+ /** Offer startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** Offer endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+
+ /** Offer parameterDefinitions */
+ parameterDefinitions?: (google.cloud.channel.v1.IParameterDefinition[]|null);
+
+ /** Offer dealCode */
+ dealCode?: (string|null);
+ }
+
+ /** Represents an Offer. */
+ class Offer implements IOffer {
+
+ /**
+ * Constructs a new Offer.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IOffer);
+
+ /** Offer name. */
+ public name: string;
+
+ /** Offer marketingInfo. */
+ public marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+
+ /** Offer sku. */
+ public sku?: (google.cloud.channel.v1.ISku|null);
+
+ /** Offer plan. */
+ public plan?: (google.cloud.channel.v1.IPlan|null);
+
+ /** Offer constraints. */
+ public constraints?: (google.cloud.channel.v1.IConstraints|null);
+
+ /** Offer priceByResources. */
+ public priceByResources: google.cloud.channel.v1.IPriceByResource[];
+
+ /** Offer startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** Offer endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /** Offer parameterDefinitions. */
+ public parameterDefinitions: google.cloud.channel.v1.IParameterDefinition[];
+
+ /** Offer dealCode. */
+ public dealCode: string;
+
+ /**
+ * Creates a new Offer instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Offer instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IOffer): google.cloud.channel.v1.Offer;
+
+ /**
+ * Encodes the specified Offer message. Does not implicitly {@link google.cloud.channel.v1.Offer.verify|verify} messages.
+ * @param message Offer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Offer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Offer.verify|verify} messages.
+ * @param message Offer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Offer message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Offer
+ * @throws {Error} If the payload is not 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.channel.v1.Offer;
+
+ /**
+ * Decodes an Offer message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Offer
+ * @throws {Error} If the payload 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.channel.v1.Offer;
+
+ /**
+ * Verifies an Offer message.
+ * @param message Plain 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 Offer message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Offer
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Offer;
+
+ /**
+ * Creates a plain object from an Offer message. Also converts values to other types if specified.
+ * @param message Offer
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Offer, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Offer to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Offer
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ParameterDefinition. */
+ interface IParameterDefinition {
+
+ /** ParameterDefinition name */
+ name?: (string|null);
+
+ /** ParameterDefinition parameterType */
+ parameterType?: (google.cloud.channel.v1.ParameterDefinition.ParameterType|keyof typeof google.cloud.channel.v1.ParameterDefinition.ParameterType|null);
+
+ /** ParameterDefinition minValue */
+ minValue?: (google.cloud.channel.v1.IValue|null);
+
+ /** ParameterDefinition maxValue */
+ maxValue?: (google.cloud.channel.v1.IValue|null);
+
+ /** ParameterDefinition allowedValues */
+ allowedValues?: (google.cloud.channel.v1.IValue[]|null);
+
+ /** ParameterDefinition optional */
+ optional?: (boolean|null);
+ }
+
+ /** Represents a ParameterDefinition. */
+ class ParameterDefinition implements IParameterDefinition {
+
+ /**
+ * Constructs a new ParameterDefinition.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IParameterDefinition);
+
+ /** ParameterDefinition name. */
+ public name: string;
+
+ /** ParameterDefinition parameterType. */
+ public parameterType: (google.cloud.channel.v1.ParameterDefinition.ParameterType|keyof typeof google.cloud.channel.v1.ParameterDefinition.ParameterType);
+
+ /** ParameterDefinition minValue. */
+ public minValue?: (google.cloud.channel.v1.IValue|null);
+
+ /** ParameterDefinition maxValue. */
+ public maxValue?: (google.cloud.channel.v1.IValue|null);
+
+ /** ParameterDefinition allowedValues. */
+ public allowedValues: google.cloud.channel.v1.IValue[];
+
+ /** ParameterDefinition optional. */
+ public optional: boolean;
+
+ /**
+ * Creates a new ParameterDefinition instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ParameterDefinition instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IParameterDefinition): google.cloud.channel.v1.ParameterDefinition;
+
+ /**
+ * Encodes the specified ParameterDefinition message. Does not implicitly {@link google.cloud.channel.v1.ParameterDefinition.verify|verify} messages.
+ * @param message ParameterDefinition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IParameterDefinition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ParameterDefinition message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ParameterDefinition.verify|verify} messages.
+ * @param message ParameterDefinition message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IParameterDefinition, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ParameterDefinition message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ParameterDefinition
+ * @throws {Error} If the payload is not 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.channel.v1.ParameterDefinition;
+
+ /**
+ * Decodes a ParameterDefinition message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ParameterDefinition
+ * @throws {Error} If the payload 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.channel.v1.ParameterDefinition;
+
+ /**
+ * Verifies a ParameterDefinition message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ParameterDefinition message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ParameterDefinition
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ParameterDefinition;
+
+ /**
+ * Creates a plain object from a ParameterDefinition message. Also converts values to other types if specified.
+ * @param message ParameterDefinition
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ParameterDefinition, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ParameterDefinition to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ParameterDefinition
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ParameterDefinition {
+
+ /** ParameterType enum. */
+ enum ParameterType {
+ PARAMETER_TYPE_UNSPECIFIED = 0,
+ INT64 = 1,
+ STRING = 2,
+ DOUBLE = 3
+ }
+ }
+
+ /** Properties of a Constraints. */
+ interface IConstraints {
+
+ /** Constraints customerConstraints */
+ customerConstraints?: (google.cloud.channel.v1.ICustomerConstraints|null);
+ }
+
+ /** Represents a Constraints. */
+ class Constraints implements IConstraints {
+
+ /**
+ * Constructs a new Constraints.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IConstraints);
+
+ /** Constraints customerConstraints. */
+ public customerConstraints?: (google.cloud.channel.v1.ICustomerConstraints|null);
+
+ /**
+ * Creates a new Constraints instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Constraints instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IConstraints): google.cloud.channel.v1.Constraints;
+
+ /**
+ * Encodes the specified Constraints message. Does not implicitly {@link google.cloud.channel.v1.Constraints.verify|verify} messages.
+ * @param message Constraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Constraints message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Constraints.verify|verify} messages.
+ * @param message Constraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Constraints message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Constraints
+ * @throws {Error} If the payload is not 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.channel.v1.Constraints;
+
+ /**
+ * Decodes a Constraints message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Constraints
+ * @throws {Error} If the payload 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.channel.v1.Constraints;
+
+ /**
+ * Verifies a Constraints message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Constraints message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Constraints
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Constraints;
+
+ /**
+ * Creates a plain object from a Constraints message. Also converts values to other types if specified.
+ * @param message Constraints
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Constraints, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Constraints to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Constraints
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomerConstraints. */
+ interface ICustomerConstraints {
+
+ /** CustomerConstraints allowedRegions */
+ allowedRegions?: (string[]|null);
+
+ /** CustomerConstraints allowedCustomerTypes */
+ allowedCustomerTypes?: (google.cloud.channel.v1.CloudIdentityInfo.CustomerType[]|null);
+
+ /** CustomerConstraints promotionalOrderTypes */
+ promotionalOrderTypes?: (google.cloud.channel.v1.PromotionalOrderType[]|null);
+ }
+
+ /** Represents a CustomerConstraints. */
+ class CustomerConstraints implements ICustomerConstraints {
+
+ /**
+ * Constructs a new CustomerConstraints.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICustomerConstraints);
+
+ /** CustomerConstraints allowedRegions. */
+ public allowedRegions: string[];
+
+ /** CustomerConstraints allowedCustomerTypes. */
+ public allowedCustomerTypes: google.cloud.channel.v1.CloudIdentityInfo.CustomerType[];
+
+ /** CustomerConstraints promotionalOrderTypes. */
+ public promotionalOrderTypes: google.cloud.channel.v1.PromotionalOrderType[];
+
+ /**
+ * Creates a new CustomerConstraints instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomerConstraints instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICustomerConstraints): google.cloud.channel.v1.CustomerConstraints;
+
+ /**
+ * Encodes the specified CustomerConstraints message. Does not implicitly {@link google.cloud.channel.v1.CustomerConstraints.verify|verify} messages.
+ * @param message CustomerConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICustomerConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomerConstraints message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CustomerConstraints.verify|verify} messages.
+ * @param message CustomerConstraints message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICustomerConstraints, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomerConstraints message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomerConstraints
+ * @throws {Error} If the payload is not 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.channel.v1.CustomerConstraints;
+
+ /**
+ * Decodes a CustomerConstraints message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomerConstraints
+ * @throws {Error} If the payload 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.channel.v1.CustomerConstraints;
+
+ /**
+ * Verifies a CustomerConstraints message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomerConstraints message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomerConstraints
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CustomerConstraints;
+
+ /**
+ * Creates a plain object from a CustomerConstraints message. Also converts values to other types if specified.
+ * @param message CustomerConstraints
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CustomerConstraints, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomerConstraints to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomerConstraints
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Plan. */
+ interface IPlan {
+
+ /** Plan paymentPlan */
+ paymentPlan?: (google.cloud.channel.v1.PaymentPlan|keyof typeof google.cloud.channel.v1.PaymentPlan|null);
+
+ /** Plan paymentType */
+ paymentType?: (google.cloud.channel.v1.PaymentType|keyof typeof google.cloud.channel.v1.PaymentType|null);
+
+ /** Plan paymentCycle */
+ paymentCycle?: (google.cloud.channel.v1.IPeriod|null);
+
+ /** Plan trialPeriod */
+ trialPeriod?: (google.cloud.channel.v1.IPeriod|null);
+
+ /** Plan billingAccount */
+ billingAccount?: (string|null);
+ }
+
+ /** Represents a Plan. */
+ class Plan implements IPlan {
+
+ /**
+ * Constructs a new Plan.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPlan);
+
+ /** Plan paymentPlan. */
+ public paymentPlan: (google.cloud.channel.v1.PaymentPlan|keyof typeof google.cloud.channel.v1.PaymentPlan);
+
+ /** Plan paymentType. */
+ public paymentType: (google.cloud.channel.v1.PaymentType|keyof typeof google.cloud.channel.v1.PaymentType);
+
+ /** Plan paymentCycle. */
+ public paymentCycle?: (google.cloud.channel.v1.IPeriod|null);
+
+ /** Plan trialPeriod. */
+ public trialPeriod?: (google.cloud.channel.v1.IPeriod|null);
+
+ /** Plan billingAccount. */
+ public billingAccount: string;
+
+ /**
+ * Creates a new Plan instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Plan instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPlan): google.cloud.channel.v1.Plan;
+
+ /**
+ * Encodes the specified Plan message. Does not implicitly {@link google.cloud.channel.v1.Plan.verify|verify} messages.
+ * @param message Plan message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPlan, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Plan message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Plan.verify|verify} messages.
+ * @param message Plan message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPlan, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Plan message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Plan
+ * @throws {Error} If the payload is not 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.channel.v1.Plan;
+
+ /**
+ * Decodes a Plan message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Plan
+ * @throws {Error} If the payload 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.channel.v1.Plan;
+
+ /**
+ * Verifies a Plan message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Plan message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Plan
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Plan;
+
+ /**
+ * Creates a plain object from a Plan message. Also converts values to other types if specified.
+ * @param message Plan
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Plan, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Plan to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Plan
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PriceByResource. */
+ interface IPriceByResource {
+
+ /** PriceByResource resourceType */
+ resourceType?: (google.cloud.channel.v1.ResourceType|keyof typeof google.cloud.channel.v1.ResourceType|null);
+
+ /** PriceByResource price */
+ price?: (google.cloud.channel.v1.IPrice|null);
+
+ /** PriceByResource pricePhases */
+ pricePhases?: (google.cloud.channel.v1.IPricePhase[]|null);
+ }
+
+ /** Represents a PriceByResource. */
+ class PriceByResource implements IPriceByResource {
+
+ /**
+ * Constructs a new PriceByResource.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPriceByResource);
+
+ /** PriceByResource resourceType. */
+ public resourceType: (google.cloud.channel.v1.ResourceType|keyof typeof google.cloud.channel.v1.ResourceType);
+
+ /** PriceByResource price. */
+ public price?: (google.cloud.channel.v1.IPrice|null);
+
+ /** PriceByResource pricePhases. */
+ public pricePhases: google.cloud.channel.v1.IPricePhase[];
+
+ /**
+ * Creates a new PriceByResource instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceByResource instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPriceByResource): google.cloud.channel.v1.PriceByResource;
+
+ /**
+ * Encodes the specified PriceByResource message. Does not implicitly {@link google.cloud.channel.v1.PriceByResource.verify|verify} messages.
+ * @param message PriceByResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPriceByResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceByResource message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PriceByResource.verify|verify} messages.
+ * @param message PriceByResource message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPriceByResource, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceByResource message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceByResource
+ * @throws {Error} If the payload is not 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.channel.v1.PriceByResource;
+
+ /**
+ * Decodes a PriceByResource message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceByResource
+ * @throws {Error} If the payload 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.channel.v1.PriceByResource;
+
+ /**
+ * Verifies a PriceByResource message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceByResource message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceByResource
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PriceByResource;
+
+ /**
+ * Creates a plain object from a PriceByResource message. Also converts values to other types if specified.
+ * @param message PriceByResource
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PriceByResource, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceByResource to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceByResource
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Price. */
+ interface IPrice {
+
+ /** Price basePrice */
+ basePrice?: (google.type.IMoney|null);
+
+ /** Price discount */
+ discount?: (number|null);
+
+ /** Price effectivePrice */
+ effectivePrice?: (google.type.IMoney|null);
+
+ /** Price externalPriceUri */
+ externalPriceUri?: (string|null);
+ }
+
+ /** Represents a Price. */
+ class Price implements IPrice {
+
+ /**
+ * Constructs a new Price.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPrice);
+
+ /** Price basePrice. */
+ public basePrice?: (google.type.IMoney|null);
+
+ /** Price discount. */
+ public discount: number;
+
+ /** Price effectivePrice. */
+ public effectivePrice?: (google.type.IMoney|null);
+
+ /** Price externalPriceUri. */
+ public externalPriceUri: string;
+
+ /**
+ * Creates a new Price instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Price instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPrice): google.cloud.channel.v1.Price;
+
+ /**
+ * Encodes the specified Price message. Does not implicitly {@link google.cloud.channel.v1.Price.verify|verify} messages.
+ * @param message Price message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPrice, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Price message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Price.verify|verify} messages.
+ * @param message Price message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPrice, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Price message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Price
+ * @throws {Error} If the payload is not 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.channel.v1.Price;
+
+ /**
+ * Decodes a Price message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Price
+ * @throws {Error} If the payload 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.channel.v1.Price;
+
+ /**
+ * Verifies a Price message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Price message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Price
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Price;
+
+ /**
+ * Creates a plain object from a Price message. Also converts values to other types if specified.
+ * @param message Price
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Price, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Price to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Price
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PricePhase. */
+ interface IPricePhase {
+
+ /** PricePhase periodType */
+ periodType?: (google.cloud.channel.v1.PeriodType|keyof typeof google.cloud.channel.v1.PeriodType|null);
+
+ /** PricePhase firstPeriod */
+ firstPeriod?: (number|null);
+
+ /** PricePhase lastPeriod */
+ lastPeriod?: (number|null);
+
+ /** PricePhase price */
+ price?: (google.cloud.channel.v1.IPrice|null);
+
+ /** PricePhase priceTiers */
+ priceTiers?: (google.cloud.channel.v1.IPriceTier[]|null);
+ }
+
+ /** Represents a PricePhase. */
+ class PricePhase implements IPricePhase {
+
+ /**
+ * Constructs a new PricePhase.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPricePhase);
+
+ /** PricePhase periodType. */
+ public periodType: (google.cloud.channel.v1.PeriodType|keyof typeof google.cloud.channel.v1.PeriodType);
+
+ /** PricePhase firstPeriod. */
+ public firstPeriod: number;
+
+ /** PricePhase lastPeriod. */
+ public lastPeriod: number;
+
+ /** PricePhase price. */
+ public price?: (google.cloud.channel.v1.IPrice|null);
+
+ /** PricePhase priceTiers. */
+ public priceTiers: google.cloud.channel.v1.IPriceTier[];
+
+ /**
+ * Creates a new PricePhase instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PricePhase instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPricePhase): google.cloud.channel.v1.PricePhase;
+
+ /**
+ * Encodes the specified PricePhase message. Does not implicitly {@link google.cloud.channel.v1.PricePhase.verify|verify} messages.
+ * @param message PricePhase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPricePhase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PricePhase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PricePhase.verify|verify} messages.
+ * @param message PricePhase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPricePhase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PricePhase message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PricePhase
+ * @throws {Error} If the payload is not 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.channel.v1.PricePhase;
+
+ /**
+ * Decodes a PricePhase message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PricePhase
+ * @throws {Error} If the payload 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.channel.v1.PricePhase;
+
+ /**
+ * Verifies a PricePhase message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PricePhase message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PricePhase
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PricePhase;
+
+ /**
+ * Creates a plain object from a PricePhase message. Also converts values to other types if specified.
+ * @param message PricePhase
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PricePhase, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PricePhase to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PricePhase
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PriceTier. */
+ interface IPriceTier {
+
+ /** PriceTier firstResource */
+ firstResource?: (number|null);
+
+ /** PriceTier lastResource */
+ lastResource?: (number|null);
+
+ /** PriceTier price */
+ price?: (google.cloud.channel.v1.IPrice|null);
+ }
+
+ /** Represents a PriceTier. */
+ class PriceTier implements IPriceTier {
+
+ /**
+ * Constructs a new PriceTier.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPriceTier);
+
+ /** PriceTier firstResource. */
+ public firstResource: number;
+
+ /** PriceTier lastResource. */
+ public lastResource: number;
+
+ /** PriceTier price. */
+ public price?: (google.cloud.channel.v1.IPrice|null);
+
+ /**
+ * Creates a new PriceTier instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PriceTier instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPriceTier): google.cloud.channel.v1.PriceTier;
+
+ /**
+ * Encodes the specified PriceTier message. Does not implicitly {@link google.cloud.channel.v1.PriceTier.verify|verify} messages.
+ * @param message PriceTier message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPriceTier, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PriceTier message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PriceTier.verify|verify} messages.
+ * @param message PriceTier message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPriceTier, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PriceTier message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PriceTier
+ * @throws {Error} If the payload is not 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.channel.v1.PriceTier;
+
+ /**
+ * Decodes a PriceTier message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PriceTier
+ * @throws {Error} If the payload 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.channel.v1.PriceTier;
+
+ /**
+ * Verifies a PriceTier message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PriceTier message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PriceTier
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PriceTier;
+
+ /**
+ * Creates a plain object from a PriceTier message. Also converts values to other types if specified.
+ * @param message PriceTier
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PriceTier, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PriceTier to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PriceTier
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Period. */
+ interface IPeriod {
+
+ /** Period duration */
+ duration?: (number|null);
+
+ /** Period periodType */
+ periodType?: (google.cloud.channel.v1.PeriodType|keyof typeof google.cloud.channel.v1.PeriodType|null);
+ }
+
+ /** Represents a Period. */
+ class Period implements IPeriod {
+
+ /**
+ * Constructs a new Period.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPeriod);
+
+ /** Period duration. */
+ public duration: number;
+
+ /** Period periodType. */
+ public periodType: (google.cloud.channel.v1.PeriodType|keyof typeof google.cloud.channel.v1.PeriodType);
+
+ /**
+ * Creates a new Period instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Period instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPeriod): google.cloud.channel.v1.Period;
+
+ /**
+ * Encodes the specified Period message. Does not implicitly {@link google.cloud.channel.v1.Period.verify|verify} messages.
+ * @param message Period message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPeriod, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Period message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Period.verify|verify} messages.
+ * @param message Period message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPeriod, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Period message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Period
+ * @throws {Error} If the payload is not 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.channel.v1.Period;
+
+ /**
+ * Decodes a Period message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Period
+ * @throws {Error} If the payload 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.channel.v1.Period;
+
+ /**
+ * Verifies a Period message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Period message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Period
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Period;
+
+ /**
+ * Creates a plain object from a Period message. Also converts values to other types if specified.
+ * @param message Period
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Period, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Period to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Period
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** MediaType enum. */
+ enum MediaType {
+ MEDIA_TYPE_UNSPECIFIED = 0,
+ MEDIA_TYPE_IMAGE = 1
+ }
+
+ /** Properties of a Product. */
+ interface IProduct {
+
+ /** Product name */
+ name?: (string|null);
+
+ /** Product marketingInfo */
+ marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+ }
+
+ /** Represents a Product. */
+ class Product implements IProduct {
+
+ /**
+ * Constructs a new Product.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IProduct);
+
+ /** Product name. */
+ public name: string;
+
+ /** Product marketingInfo. */
+ public marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+
+ /**
+ * Creates a new Product instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Product instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IProduct): google.cloud.channel.v1.Product;
+
+ /**
+ * Encodes the specified Product message. Does not implicitly {@link google.cloud.channel.v1.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Product.verify|verify} messages.
+ * @param message Product message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IProduct, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Product
+ * @throws {Error} If the payload is not 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.channel.v1.Product;
+
+ /**
+ * Decodes a Product message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Product
+ * @throws {Error} If the payload 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.channel.v1.Product;
+
+ /**
+ * Verifies a Product message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Product message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Product
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Product;
+
+ /**
+ * Creates a plain object from a Product message. Also converts values to other types if specified.
+ * @param message Product
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Product, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Product to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Product
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Sku. */
+ interface ISku {
+
+ /** Sku name */
+ name?: (string|null);
+
+ /** Sku marketingInfo */
+ marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+
+ /** Sku product */
+ product?: (google.cloud.channel.v1.IProduct|null);
+ }
+
+ /** Represents a Sku. */
+ class Sku implements ISku {
+
+ /**
+ * Constructs a new Sku.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ISku);
+
+ /** Sku name. */
+ public name: string;
+
+ /** Sku marketingInfo. */
+ public marketingInfo?: (google.cloud.channel.v1.IMarketingInfo|null);
+
+ /** Sku product. */
+ public product?: (google.cloud.channel.v1.IProduct|null);
+
+ /**
+ * Creates a new Sku instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Sku instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ISku): google.cloud.channel.v1.Sku;
+
+ /**
+ * Encodes the specified Sku message. Does not implicitly {@link google.cloud.channel.v1.Sku.verify|verify} messages.
+ * @param message Sku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ISku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Sku message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Sku.verify|verify} messages.
+ * @param message Sku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ISku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Sku message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Sku
+ * @throws {Error} If the payload is not 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.channel.v1.Sku;
+
+ /**
+ * Decodes a Sku message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Sku
+ * @throws {Error} If the payload 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.channel.v1.Sku;
+
+ /**
+ * Verifies a Sku message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Sku message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Sku
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Sku;
+
+ /**
+ * Creates a plain object from a Sku message. Also converts values to other types if specified.
+ * @param message Sku
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Sku, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Sku to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Sku
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a MarketingInfo. */
+ interface IMarketingInfo {
+
+ /** MarketingInfo displayName */
+ displayName?: (string|null);
+
+ /** MarketingInfo description */
+ description?: (string|null);
+
+ /** MarketingInfo defaultLogo */
+ defaultLogo?: (google.cloud.channel.v1.IMedia|null);
+ }
+
+ /** Represents a MarketingInfo. */
+ class MarketingInfo implements IMarketingInfo {
+
+ /**
+ * Constructs a new MarketingInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IMarketingInfo);
+
+ /** MarketingInfo displayName. */
+ public displayName: string;
+
+ /** MarketingInfo description. */
+ public description: string;
+
+ /** MarketingInfo defaultLogo. */
+ public defaultLogo?: (google.cloud.channel.v1.IMedia|null);
+
+ /**
+ * Creates a new MarketingInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns MarketingInfo instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IMarketingInfo): google.cloud.channel.v1.MarketingInfo;
+
+ /**
+ * Encodes the specified MarketingInfo message. Does not implicitly {@link google.cloud.channel.v1.MarketingInfo.verify|verify} messages.
+ * @param message MarketingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IMarketingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified MarketingInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.MarketingInfo.verify|verify} messages.
+ * @param message MarketingInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IMarketingInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a MarketingInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns MarketingInfo
+ * @throws {Error} If the payload is not 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.channel.v1.MarketingInfo;
+
+ /**
+ * Decodes a MarketingInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns MarketingInfo
+ * @throws {Error} If the payload 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.channel.v1.MarketingInfo;
+
+ /**
+ * Verifies a MarketingInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a MarketingInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns MarketingInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.MarketingInfo;
+
+ /**
+ * Creates a plain object from a MarketingInfo message. Also converts values to other types if specified.
+ * @param message MarketingInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.MarketingInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this MarketingInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for MarketingInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Media. */
+ interface IMedia {
+
+ /** Media title */
+ title?: (string|null);
+
+ /** Media content */
+ content?: (string|null);
+
+ /** Media type */
+ type?: (google.cloud.channel.v1.MediaType|keyof typeof google.cloud.channel.v1.MediaType|null);
+ }
+
+ /** Represents a Media. */
+ class Media implements IMedia {
+
+ /**
+ * Constructs a new Media.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IMedia);
+
+ /** Media title. */
+ public title: string;
+
+ /** Media content. */
+ public content: string;
+
+ /** Media type. */
+ public type: (google.cloud.channel.v1.MediaType|keyof typeof google.cloud.channel.v1.MediaType);
+
+ /**
+ * Creates a new Media instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Media instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IMedia): google.cloud.channel.v1.Media;
+
+ /**
+ * Encodes the specified Media message. Does not implicitly {@link google.cloud.channel.v1.Media.verify|verify} messages.
+ * @param message Media message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IMedia, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Media message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Media.verify|verify} messages.
+ * @param message Media message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IMedia, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Media message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Media
+ * @throws {Error} If the payload is not 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.channel.v1.Media;
+
+ /**
+ * Decodes a Media message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Media
+ * @throws {Error} If the payload 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.channel.v1.Media;
+
+ /**
+ * Verifies a Media message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Media message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Media
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Media;
+
+ /**
+ * Creates a plain object from a Media message. Also converts values to other types if specified.
+ * @param message Media
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Media, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Media to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Media
+ * @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 operationType */
+ operationType?: (google.cloud.channel.v1.OperationMetadata.OperationType|keyof typeof google.cloud.channel.v1.OperationMetadata.OperationType|null);
+ }
+
+ /** Represents an OperationMetadata. */
+ class OperationMetadata implements IOperationMetadata {
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IOperationMetadata);
+
+ /** OperationMetadata operationType. */
+ public operationType: (google.cloud.channel.v1.OperationMetadata.OperationType|keyof typeof google.cloud.channel.v1.OperationMetadata.OperationType);
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationMetadata instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IOperationMetadata): google.cloud.channel.v1.OperationMetadata;
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.channel.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.channel.v1.IOperationMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.channel.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.channel.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.channel.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.channel.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.channel.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.channel.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;
+ }
+
+ namespace OperationMetadata {
+
+ /** OperationType enum. */
+ enum OperationType {
+ OPERATION_TYPE_UNSPECIFIED = 0,
+ CREATE_ENTITLEMENT = 1,
+ CHANGE_RENEWAL_SETTINGS = 3,
+ START_PAID_SERVICE = 5,
+ ACTIVATE_ENTITLEMENT = 7,
+ SUSPEND_ENTITLEMENT = 8,
+ CANCEL_ENTITLEMENT = 9,
+ TRANSFER_ENTITLEMENTS = 10,
+ TRANSFER_ENTITLEMENTS_TO_GOOGLE = 11,
+ CHANGE_OFFER = 14,
+ CHANGE_PARAMETERS = 15,
+ PROVISION_CLOUD_IDENTITY = 16
+ }
+ }
+
+ /** Represents a CloudChannelReportsService */
+ class CloudChannelReportsService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CloudChannelReportsService 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 CloudChannelReportsService 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): CloudChannelReportsService;
+
+ /**
+ * Calls RunReportJob.
+ * @param request RunReportJobRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public runReportJob(request: google.cloud.channel.v1.IRunReportJobRequest, callback: google.cloud.channel.v1.CloudChannelReportsService.RunReportJobCallback): void;
+
+ /**
+ * Calls RunReportJob.
+ * @param request RunReportJobRequest message or plain object
+ * @returns Promise
+ */
+ public runReportJob(request: google.cloud.channel.v1.IRunReportJobRequest): Promise;
+
+ /**
+ * Calls FetchReportResults.
+ * @param request FetchReportResultsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and FetchReportResultsResponse
+ */
+ public fetchReportResults(request: google.cloud.channel.v1.IFetchReportResultsRequest, callback: google.cloud.channel.v1.CloudChannelReportsService.FetchReportResultsCallback): void;
+
+ /**
+ * Calls FetchReportResults.
+ * @param request FetchReportResultsRequest message or plain object
+ * @returns Promise
+ */
+ public fetchReportResults(request: google.cloud.channel.v1.IFetchReportResultsRequest): Promise;
+
+ /**
+ * Calls ListReports.
+ * @param request ListReportsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListReportsResponse
+ */
+ public listReports(request: google.cloud.channel.v1.IListReportsRequest, callback: google.cloud.channel.v1.CloudChannelReportsService.ListReportsCallback): void;
+
+ /**
+ * Calls ListReports.
+ * @param request ListReportsRequest message or plain object
+ * @returns Promise
+ */
+ public listReports(request: google.cloud.channel.v1.IListReportsRequest): Promise;
+ }
+
+ namespace CloudChannelReportsService {
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|runReportJob}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type RunReportJobCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|fetchReportResults}.
+ * @param error Error, if any
+ * @param [response] FetchReportResultsResponse
+ */
+ type FetchReportResultsCallback = (error: (Error|null), response?: google.cloud.channel.v1.FetchReportResultsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|listReports}.
+ * @param error Error, if any
+ * @param [response] ListReportsResponse
+ */
+ type ListReportsCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListReportsResponse) => void;
+ }
+
+ /** Properties of a RunReportJobRequest. */
+ interface IRunReportJobRequest {
+
+ /** RunReportJobRequest name */
+ name?: (string|null);
+
+ /** RunReportJobRequest dateRange */
+ dateRange?: (google.cloud.channel.v1.IDateRange|null);
+
+ /** RunReportJobRequest filter */
+ filter?: (string|null);
+
+ /** RunReportJobRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a RunReportJobRequest. */
+ class RunReportJobRequest implements IRunReportJobRequest {
+
+ /**
+ * Constructs a new RunReportJobRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRunReportJobRequest);
+
+ /** RunReportJobRequest name. */
+ public name: string;
+
+ /** RunReportJobRequest dateRange. */
+ public dateRange?: (google.cloud.channel.v1.IDateRange|null);
+
+ /** RunReportJobRequest filter. */
+ public filter: string;
+
+ /** RunReportJobRequest languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new RunReportJobRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunReportJobRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRunReportJobRequest): google.cloud.channel.v1.RunReportJobRequest;
+
+ /**
+ * Encodes the specified RunReportJobRequest message. Does not implicitly {@link google.cloud.channel.v1.RunReportJobRequest.verify|verify} messages.
+ * @param message RunReportJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRunReportJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunReportJobRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RunReportJobRequest.verify|verify} messages.
+ * @param message RunReportJobRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRunReportJobRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunReportJobRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunReportJobRequest
+ * @throws {Error} If the payload is not 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.channel.v1.RunReportJobRequest;
+
+ /**
+ * Decodes a RunReportJobRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunReportJobRequest
+ * @throws {Error} If the payload 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.channel.v1.RunReportJobRequest;
+
+ /**
+ * Verifies a RunReportJobRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunReportJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunReportJobRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RunReportJobRequest;
+
+ /**
+ * Creates a plain object from a RunReportJobRequest message. Also converts values to other types if specified.
+ * @param message RunReportJobRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RunReportJobRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunReportJobRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunReportJobRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RunReportJobResponse. */
+ interface IRunReportJobResponse {
+
+ /** RunReportJobResponse reportJob */
+ reportJob?: (google.cloud.channel.v1.IReportJob|null);
+
+ /** RunReportJobResponse reportMetadata */
+ reportMetadata?: (google.cloud.channel.v1.IReportResultsMetadata|null);
+ }
+
+ /** Represents a RunReportJobResponse. */
+ class RunReportJobResponse implements IRunReportJobResponse {
+
+ /**
+ * Constructs a new RunReportJobResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRunReportJobResponse);
+
+ /** RunReportJobResponse reportJob. */
+ public reportJob?: (google.cloud.channel.v1.IReportJob|null);
+
+ /** RunReportJobResponse reportMetadata. */
+ public reportMetadata?: (google.cloud.channel.v1.IReportResultsMetadata|null);
+
+ /**
+ * Creates a new RunReportJobResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RunReportJobResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRunReportJobResponse): google.cloud.channel.v1.RunReportJobResponse;
+
+ /**
+ * Encodes the specified RunReportJobResponse message. Does not implicitly {@link google.cloud.channel.v1.RunReportJobResponse.verify|verify} messages.
+ * @param message RunReportJobResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRunReportJobResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RunReportJobResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RunReportJobResponse.verify|verify} messages.
+ * @param message RunReportJobResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRunReportJobResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RunReportJobResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RunReportJobResponse
+ * @throws {Error} If the payload is not 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.channel.v1.RunReportJobResponse;
+
+ /**
+ * Decodes a RunReportJobResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RunReportJobResponse
+ * @throws {Error} If the payload 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.channel.v1.RunReportJobResponse;
+
+ /**
+ * Verifies a RunReportJobResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RunReportJobResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RunReportJobResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RunReportJobResponse;
+
+ /**
+ * Creates a plain object from a RunReportJobResponse message. Also converts values to other types if specified.
+ * @param message RunReportJobResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RunReportJobResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RunReportJobResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RunReportJobResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchReportResultsRequest. */
+ interface IFetchReportResultsRequest {
+
+ /** FetchReportResultsRequest reportJob */
+ reportJob?: (string|null);
+
+ /** FetchReportResultsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** FetchReportResultsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a FetchReportResultsRequest. */
+ class FetchReportResultsRequest implements IFetchReportResultsRequest {
+
+ /**
+ * Constructs a new FetchReportResultsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IFetchReportResultsRequest);
+
+ /** FetchReportResultsRequest reportJob. */
+ public reportJob: string;
+
+ /** FetchReportResultsRequest pageSize. */
+ public pageSize: number;
+
+ /** FetchReportResultsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new FetchReportResultsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchReportResultsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IFetchReportResultsRequest): google.cloud.channel.v1.FetchReportResultsRequest;
+
+ /**
+ * Encodes the specified FetchReportResultsRequest message. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsRequest.verify|verify} messages.
+ * @param message FetchReportResultsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IFetchReportResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchReportResultsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsRequest.verify|verify} messages.
+ * @param message FetchReportResultsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IFetchReportResultsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchReportResultsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchReportResultsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.FetchReportResultsRequest;
+
+ /**
+ * Decodes a FetchReportResultsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchReportResultsRequest
+ * @throws {Error} If the payload 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.channel.v1.FetchReportResultsRequest;
+
+ /**
+ * Verifies a FetchReportResultsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchReportResultsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchReportResultsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.FetchReportResultsRequest;
+
+ /**
+ * Creates a plain object from a FetchReportResultsRequest message. Also converts values to other types if specified.
+ * @param message FetchReportResultsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.FetchReportResultsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchReportResultsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchReportResultsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FetchReportResultsResponse. */
+ interface IFetchReportResultsResponse {
+
+ /** FetchReportResultsResponse reportMetadata */
+ reportMetadata?: (google.cloud.channel.v1.IReportResultsMetadata|null);
+
+ /** FetchReportResultsResponse rows */
+ rows?: (google.cloud.channel.v1.IRow[]|null);
+
+ /** FetchReportResultsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a FetchReportResultsResponse. */
+ class FetchReportResultsResponse implements IFetchReportResultsResponse {
+
+ /**
+ * Constructs a new FetchReportResultsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IFetchReportResultsResponse);
+
+ /** FetchReportResultsResponse reportMetadata. */
+ public reportMetadata?: (google.cloud.channel.v1.IReportResultsMetadata|null);
+
+ /** FetchReportResultsResponse rows. */
+ public rows: google.cloud.channel.v1.IRow[];
+
+ /** FetchReportResultsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new FetchReportResultsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FetchReportResultsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IFetchReportResultsResponse): google.cloud.channel.v1.FetchReportResultsResponse;
+
+ /**
+ * Encodes the specified FetchReportResultsResponse message. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsResponse.verify|verify} messages.
+ * @param message FetchReportResultsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IFetchReportResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FetchReportResultsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsResponse.verify|verify} messages.
+ * @param message FetchReportResultsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IFetchReportResultsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FetchReportResultsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FetchReportResultsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.FetchReportResultsResponse;
+
+ /**
+ * Decodes a FetchReportResultsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FetchReportResultsResponse
+ * @throws {Error} If the payload 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.channel.v1.FetchReportResultsResponse;
+
+ /**
+ * Verifies a FetchReportResultsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FetchReportResultsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FetchReportResultsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.FetchReportResultsResponse;
+
+ /**
+ * Creates a plain object from a FetchReportResultsResponse message. Also converts values to other types if specified.
+ * @param message FetchReportResultsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.FetchReportResultsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FetchReportResultsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FetchReportResultsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListReportsRequest. */
+ interface IListReportsRequest {
+
+ /** ListReportsRequest parent */
+ parent?: (string|null);
+
+ /** ListReportsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListReportsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListReportsRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListReportsRequest. */
+ class ListReportsRequest implements IListReportsRequest {
+
+ /**
+ * Constructs a new ListReportsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListReportsRequest);
+
+ /** ListReportsRequest parent. */
+ public parent: string;
+
+ /** ListReportsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListReportsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListReportsRequest languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new ListReportsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListReportsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListReportsRequest): google.cloud.channel.v1.ListReportsRequest;
+
+ /**
+ * Encodes the specified ListReportsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListReportsRequest.verify|verify} messages.
+ * @param message ListReportsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListReportsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListReportsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListReportsRequest.verify|verify} messages.
+ * @param message ListReportsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListReportsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListReportsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListReportsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListReportsRequest;
+
+ /**
+ * Decodes a ListReportsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListReportsRequest
+ * @throws {Error} If the payload 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.channel.v1.ListReportsRequest;
+
+ /**
+ * Verifies a ListReportsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListReportsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListReportsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListReportsRequest;
+
+ /**
+ * Creates a plain object from a ListReportsRequest message. Also converts values to other types if specified.
+ * @param message ListReportsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListReportsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListReportsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListReportsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListReportsResponse. */
+ interface IListReportsResponse {
+
+ /** ListReportsResponse reports */
+ reports?: (google.cloud.channel.v1.IReport[]|null);
+
+ /** ListReportsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListReportsResponse. */
+ class ListReportsResponse implements IListReportsResponse {
+
+ /**
+ * Constructs a new ListReportsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListReportsResponse);
+
+ /** ListReportsResponse reports. */
+ public reports: google.cloud.channel.v1.IReport[];
+
+ /** ListReportsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListReportsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListReportsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListReportsResponse): google.cloud.channel.v1.ListReportsResponse;
+
+ /**
+ * Encodes the specified ListReportsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListReportsResponse.verify|verify} messages.
+ * @param message ListReportsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListReportsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListReportsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListReportsResponse.verify|verify} messages.
+ * @param message ListReportsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListReportsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListReportsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListReportsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListReportsResponse;
+
+ /**
+ * Decodes a ListReportsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListReportsResponse
+ * @throws {Error} If the payload 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.channel.v1.ListReportsResponse;
+
+ /**
+ * Verifies a ListReportsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListReportsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListReportsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListReportsResponse;
+
+ /**
+ * Creates a plain object from a ListReportsResponse message. Also converts values to other types if specified.
+ * @param message ListReportsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListReportsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListReportsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListReportsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReportJob. */
+ interface IReportJob {
+
+ /** ReportJob name */
+ name?: (string|null);
+
+ /** ReportJob reportStatus */
+ reportStatus?: (google.cloud.channel.v1.IReportStatus|null);
+ }
+
+ /** Represents a ReportJob. */
+ class ReportJob implements IReportJob {
+
+ /**
+ * Constructs a new ReportJob.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IReportJob);
+
+ /** ReportJob name. */
+ public name: string;
+
+ /** ReportJob reportStatus. */
+ public reportStatus?: (google.cloud.channel.v1.IReportStatus|null);
+
+ /**
+ * Creates a new ReportJob instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReportJob instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IReportJob): google.cloud.channel.v1.ReportJob;
+
+ /**
+ * Encodes the specified ReportJob message. Does not implicitly {@link google.cloud.channel.v1.ReportJob.verify|verify} messages.
+ * @param message ReportJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IReportJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReportJob message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportJob.verify|verify} messages.
+ * @param message ReportJob message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IReportJob, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReportJob message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReportJob
+ * @throws {Error} If the payload is not 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.channel.v1.ReportJob;
+
+ /**
+ * Decodes a ReportJob message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReportJob
+ * @throws {Error} If the payload 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.channel.v1.ReportJob;
+
+ /**
+ * Verifies a ReportJob message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReportJob message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReportJob
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ReportJob;
+
+ /**
+ * Creates a plain object from a ReportJob message. Also converts values to other types if specified.
+ * @param message ReportJob
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ReportJob, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReportJob to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReportJob
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReportResultsMetadata. */
+ interface IReportResultsMetadata {
+
+ /** ReportResultsMetadata report */
+ report?: (google.cloud.channel.v1.IReport|null);
+
+ /** ReportResultsMetadata rowCount */
+ rowCount?: (number|Long|string|null);
+
+ /** ReportResultsMetadata dateRange */
+ dateRange?: (google.cloud.channel.v1.IDateRange|null);
+
+ /** ReportResultsMetadata precedingDateRange */
+ precedingDateRange?: (google.cloud.channel.v1.IDateRange|null);
+ }
+
+ /** Represents a ReportResultsMetadata. */
+ class ReportResultsMetadata implements IReportResultsMetadata {
+
+ /**
+ * Constructs a new ReportResultsMetadata.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IReportResultsMetadata);
+
+ /** ReportResultsMetadata report. */
+ public report?: (google.cloud.channel.v1.IReport|null);
+
+ /** ReportResultsMetadata rowCount. */
+ public rowCount: (number|Long|string);
+
+ /** ReportResultsMetadata dateRange. */
+ public dateRange?: (google.cloud.channel.v1.IDateRange|null);
+
+ /** ReportResultsMetadata precedingDateRange. */
+ public precedingDateRange?: (google.cloud.channel.v1.IDateRange|null);
+
+ /**
+ * Creates a new ReportResultsMetadata instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReportResultsMetadata instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IReportResultsMetadata): google.cloud.channel.v1.ReportResultsMetadata;
+
+ /**
+ * Encodes the specified ReportResultsMetadata message. Does not implicitly {@link google.cloud.channel.v1.ReportResultsMetadata.verify|verify} messages.
+ * @param message ReportResultsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IReportResultsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReportResultsMetadata message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportResultsMetadata.verify|verify} messages.
+ * @param message ReportResultsMetadata message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IReportResultsMetadata, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReportResultsMetadata message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReportResultsMetadata
+ * @throws {Error} If the payload is not 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.channel.v1.ReportResultsMetadata;
+
+ /**
+ * Decodes a ReportResultsMetadata message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReportResultsMetadata
+ * @throws {Error} If the payload 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.channel.v1.ReportResultsMetadata;
+
+ /**
+ * Verifies a ReportResultsMetadata message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReportResultsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReportResultsMetadata
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ReportResultsMetadata;
+
+ /**
+ * Creates a plain object from a ReportResultsMetadata message. Also converts values to other types if specified.
+ * @param message ReportResultsMetadata
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ReportResultsMetadata, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReportResultsMetadata to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReportResultsMetadata
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Column. */
+ interface IColumn {
+
+ /** Column columnId */
+ columnId?: (string|null);
+
+ /** Column displayName */
+ displayName?: (string|null);
+
+ /** Column dataType */
+ dataType?: (google.cloud.channel.v1.Column.DataType|keyof typeof google.cloud.channel.v1.Column.DataType|null);
+ }
+
+ /** Represents a Column. */
+ class Column implements IColumn {
+
+ /**
+ * Constructs a new Column.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IColumn);
+
+ /** Column columnId. */
+ public columnId: string;
+
+ /** Column displayName. */
+ public displayName: string;
+
+ /** Column dataType. */
+ public dataType: (google.cloud.channel.v1.Column.DataType|keyof typeof google.cloud.channel.v1.Column.DataType);
+
+ /**
+ * Creates a new Column instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Column instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IColumn): google.cloud.channel.v1.Column;
+
+ /**
+ * Encodes the specified Column message. Does not implicitly {@link google.cloud.channel.v1.Column.verify|verify} messages.
+ * @param message Column message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IColumn, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Column message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Column.verify|verify} messages.
+ * @param message Column message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IColumn, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Column message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Column
+ * @throws {Error} If the payload is not 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.channel.v1.Column;
+
+ /**
+ * Decodes a Column message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Column
+ * @throws {Error} If the payload 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.channel.v1.Column;
+
+ /**
+ * Verifies a Column message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Column message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Column
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Column;
+
+ /**
+ * Creates a plain object from a Column message. Also converts values to other types if specified.
+ * @param message Column
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Column, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Column to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Column
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace Column {
+
+ /** DataType enum. */
+ enum DataType {
+ DATA_TYPE_UNSPECIFIED = 0,
+ STRING = 1,
+ INT = 2,
+ DECIMAL = 3,
+ MONEY = 4,
+ DATE = 5,
+ DATE_TIME = 6
+ }
+ }
+
+ /** Properties of a DateRange. */
+ interface IDateRange {
+
+ /** DateRange usageStartDateTime */
+ usageStartDateTime?: (google.type.IDateTime|null);
+
+ /** DateRange usageEndDateTime */
+ usageEndDateTime?: (google.type.IDateTime|null);
+
+ /** DateRange invoiceStartDate */
+ invoiceStartDate?: (google.type.IDate|null);
+
+ /** DateRange invoiceEndDate */
+ invoiceEndDate?: (google.type.IDate|null);
+ }
+
+ /** Represents a DateRange. */
+ class DateRange implements IDateRange {
+
+ /**
+ * Constructs a new DateRange.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IDateRange);
+
+ /** DateRange usageStartDateTime. */
+ public usageStartDateTime?: (google.type.IDateTime|null);
+
+ /** DateRange usageEndDateTime. */
+ public usageEndDateTime?: (google.type.IDateTime|null);
+
+ /** DateRange invoiceStartDate. */
+ public invoiceStartDate?: (google.type.IDate|null);
+
+ /** DateRange invoiceEndDate. */
+ public invoiceEndDate?: (google.type.IDate|null);
+
+ /**
+ * Creates a new DateRange instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DateRange instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IDateRange): google.cloud.channel.v1.DateRange;
+
+ /**
+ * Encodes the specified DateRange message. Does not implicitly {@link google.cloud.channel.v1.DateRange.verify|verify} messages.
+ * @param message DateRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IDateRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DateRange message, length delimited. Does not implicitly {@link google.cloud.channel.v1.DateRange.verify|verify} messages.
+ * @param message DateRange message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IDateRange, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DateRange message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DateRange
+ * @throws {Error} If the payload is not 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.channel.v1.DateRange;
+
+ /**
+ * Decodes a DateRange message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DateRange
+ * @throws {Error} If the payload 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.channel.v1.DateRange;
+
+ /**
+ * Verifies a DateRange message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DateRange message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DateRange
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.DateRange;
+
+ /**
+ * Creates a plain object from a DateRange message. Also converts values to other types if specified.
+ * @param message DateRange
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.DateRange, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DateRange to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DateRange
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Row. */
+ interface IRow {
+
+ /** Row values */
+ values?: (google.cloud.channel.v1.IReportValue[]|null);
+ }
+
+ /** Represents a Row. */
+ class Row implements IRow {
+
+ /**
+ * Constructs a new Row.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRow);
+
+ /** Row values. */
+ public values: google.cloud.channel.v1.IReportValue[];
+
+ /**
+ * Creates a new Row instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Row instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRow): google.cloud.channel.v1.Row;
+
+ /**
+ * Encodes the specified Row message. Does not implicitly {@link google.cloud.channel.v1.Row.verify|verify} messages.
+ * @param message Row message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Row message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Row.verify|verify} messages.
+ * @param message Row message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRow, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Row message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Row
+ * @throws {Error} If the payload is not 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.channel.v1.Row;
+
+ /**
+ * Decodes a Row message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Row
+ * @throws {Error} If the payload 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.channel.v1.Row;
+
+ /**
+ * Verifies a Row message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Row message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Row
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Row;
+
+ /**
+ * Creates a plain object from a Row message. Also converts values to other types if specified.
+ * @param message Row
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Row, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Row to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Row
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReportValue. */
+ interface IReportValue {
+
+ /** ReportValue stringValue */
+ stringValue?: (string|null);
+
+ /** ReportValue intValue */
+ intValue?: (number|Long|string|null);
+
+ /** ReportValue decimalValue */
+ decimalValue?: (google.type.IDecimal|null);
+
+ /** ReportValue moneyValue */
+ moneyValue?: (google.type.IMoney|null);
+
+ /** ReportValue dateValue */
+ dateValue?: (google.type.IDate|null);
+
+ /** ReportValue dateTimeValue */
+ dateTimeValue?: (google.type.IDateTime|null);
+ }
+
+ /** Represents a ReportValue. */
+ class ReportValue implements IReportValue {
+
+ /**
+ * Constructs a new ReportValue.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IReportValue);
+
+ /** ReportValue stringValue. */
+ public stringValue?: (string|null);
+
+ /** ReportValue intValue. */
+ public intValue?: (number|Long|string|null);
+
+ /** ReportValue decimalValue. */
+ public decimalValue?: (google.type.IDecimal|null);
+
+ /** ReportValue moneyValue. */
+ public moneyValue?: (google.type.IMoney|null);
+
+ /** ReportValue dateValue. */
+ public dateValue?: (google.type.IDate|null);
+
+ /** ReportValue dateTimeValue. */
+ public dateTimeValue?: (google.type.IDateTime|null);
+
+ /** ReportValue value. */
+ public value?: ("stringValue"|"intValue"|"decimalValue"|"moneyValue"|"dateValue"|"dateTimeValue");
+
+ /**
+ * Creates a new ReportValue instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReportValue instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IReportValue): google.cloud.channel.v1.ReportValue;
+
+ /**
+ * Encodes the specified ReportValue message. Does not implicitly {@link google.cloud.channel.v1.ReportValue.verify|verify} messages.
+ * @param message ReportValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IReportValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReportValue message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportValue.verify|verify} messages.
+ * @param message ReportValue message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IReportValue, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReportValue message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReportValue
+ * @throws {Error} If the payload is not 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.channel.v1.ReportValue;
+
+ /**
+ * Decodes a ReportValue message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReportValue
+ * @throws {Error} If the payload 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.channel.v1.ReportValue;
+
+ /**
+ * Verifies a ReportValue message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReportValue message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReportValue
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ReportValue;
+
+ /**
+ * Creates a plain object from a ReportValue message. Also converts values to other types if specified.
+ * @param message ReportValue
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ReportValue, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReportValue to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReportValue
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ReportStatus. */
+ interface IReportStatus {
+
+ /** ReportStatus state */
+ state?: (google.cloud.channel.v1.ReportStatus.State|keyof typeof google.cloud.channel.v1.ReportStatus.State|null);
+
+ /** ReportStatus startTime */
+ startTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReportStatus endTime */
+ endTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ReportStatus. */
+ class ReportStatus implements IReportStatus {
+
+ /**
+ * Constructs a new ReportStatus.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IReportStatus);
+
+ /** ReportStatus state. */
+ public state: (google.cloud.channel.v1.ReportStatus.State|keyof typeof google.cloud.channel.v1.ReportStatus.State);
+
+ /** ReportStatus startTime. */
+ public startTime?: (google.protobuf.ITimestamp|null);
+
+ /** ReportStatus endTime. */
+ public endTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ReportStatus instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ReportStatus instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IReportStatus): google.cloud.channel.v1.ReportStatus;
+
+ /**
+ * Encodes the specified ReportStatus message. Does not implicitly {@link google.cloud.channel.v1.ReportStatus.verify|verify} messages.
+ * @param message ReportStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IReportStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ReportStatus message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportStatus.verify|verify} messages.
+ * @param message ReportStatus message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IReportStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ReportStatus message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ReportStatus
+ * @throws {Error} If the payload is not 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.channel.v1.ReportStatus;
+
+ /**
+ * Decodes a ReportStatus message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ReportStatus
+ * @throws {Error} If the payload 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.channel.v1.ReportStatus;
+
+ /**
+ * Verifies a ReportStatus message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ReportStatus message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ReportStatus
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ReportStatus;
+
+ /**
+ * Creates a plain object from a ReportStatus message. Also converts values to other types if specified.
+ * @param message ReportStatus
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ReportStatus, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ReportStatus to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ReportStatus
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ReportStatus {
+
+ /** State enum. */
+ enum State {
+ STATE_UNSPECIFIED = 0,
+ STARTED = 1,
+ WRITING = 2,
+ AVAILABLE = 3,
+ FAILED = 4
+ }
+ }
+
+ /** Properties of a Report. */
+ interface IReport {
+
+ /** Report name */
+ name?: (string|null);
+
+ /** Report displayName */
+ displayName?: (string|null);
+
+ /** Report columns */
+ columns?: (google.cloud.channel.v1.IColumn[]|null);
+
+ /** Report description */
+ description?: (string|null);
+ }
+
+ /** Represents a Report. */
+ class Report implements IReport {
+
+ /**
+ * Constructs a new Report.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IReport);
+
+ /** Report name. */
+ public name: string;
+
+ /** Report displayName. */
+ public displayName: string;
+
+ /** Report columns. */
+ public columns: google.cloud.channel.v1.IColumn[];
+
+ /** Report description. */
+ public description: string;
+
+ /**
+ * Creates a new Report instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Report instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IReport): google.cloud.channel.v1.Report;
+
+ /**
+ * Encodes the specified Report message. Does not implicitly {@link google.cloud.channel.v1.Report.verify|verify} messages.
+ * @param message Report message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IReport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Report message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Report.verify|verify} messages.
+ * @param message Report message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IReport, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Report message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Report
+ * @throws {Error} If the payload is not 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.channel.v1.Report;
+
+ /**
+ * Decodes a Report message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Report
+ * @throws {Error} If the payload 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.channel.v1.Report;
+
+ /**
+ * Verifies a Report message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Report message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Report
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.Report;
+
+ /**
+ * Creates a plain object from a Report message. Also converts values to other types if specified.
+ * @param message Report
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.Report, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Report to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Report
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** RebillingBasis enum. */
+ enum RebillingBasis {
+ REBILLING_BASIS_UNSPECIFIED = 0,
+ COST_AT_LIST = 1,
+ DIRECT_CUSTOMER_COST = 2
+ }
+
+ /** Properties of a CustomerRepricingConfig. */
+ interface ICustomerRepricingConfig {
+
+ /** CustomerRepricingConfig name */
+ name?: (string|null);
+
+ /** CustomerRepricingConfig repricingConfig */
+ repricingConfig?: (google.cloud.channel.v1.IRepricingConfig|null);
+
+ /** CustomerRepricingConfig updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a CustomerRepricingConfig. */
+ class CustomerRepricingConfig implements ICustomerRepricingConfig {
+
+ /**
+ * Constructs a new CustomerRepricingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICustomerRepricingConfig);
+
+ /** CustomerRepricingConfig name. */
+ public name: string;
+
+ /** CustomerRepricingConfig repricingConfig. */
+ public repricingConfig?: (google.cloud.channel.v1.IRepricingConfig|null);
+
+ /** CustomerRepricingConfig updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new CustomerRepricingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomerRepricingConfig instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICustomerRepricingConfig): google.cloud.channel.v1.CustomerRepricingConfig;
+
+ /**
+ * Encodes the specified CustomerRepricingConfig message. Does not implicitly {@link google.cloud.channel.v1.CustomerRepricingConfig.verify|verify} messages.
+ * @param message CustomerRepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICustomerRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomerRepricingConfig message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CustomerRepricingConfig.verify|verify} messages.
+ * @param message CustomerRepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICustomerRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomerRepricingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomerRepricingConfig
+ * @throws {Error} If the payload is not 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.channel.v1.CustomerRepricingConfig;
+
+ /**
+ * Decodes a CustomerRepricingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomerRepricingConfig
+ * @throws {Error} If the payload 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.channel.v1.CustomerRepricingConfig;
+
+ /**
+ * Verifies a CustomerRepricingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomerRepricingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomerRepricingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CustomerRepricingConfig;
+
+ /**
+ * Creates a plain object from a CustomerRepricingConfig message. Also converts values to other types if specified.
+ * @param message CustomerRepricingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CustomerRepricingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomerRepricingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomerRepricingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChannelPartnerRepricingConfig. */
+ interface IChannelPartnerRepricingConfig {
+
+ /** ChannelPartnerRepricingConfig name */
+ name?: (string|null);
+
+ /** ChannelPartnerRepricingConfig repricingConfig */
+ repricingConfig?: (google.cloud.channel.v1.IRepricingConfig|null);
+
+ /** ChannelPartnerRepricingConfig updateTime */
+ updateTime?: (google.protobuf.ITimestamp|null);
+ }
+
+ /** Represents a ChannelPartnerRepricingConfig. */
+ class ChannelPartnerRepricingConfig implements IChannelPartnerRepricingConfig {
+
+ /**
+ * Constructs a new ChannelPartnerRepricingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IChannelPartnerRepricingConfig);
+
+ /** ChannelPartnerRepricingConfig name. */
+ public name: string;
+
+ /** ChannelPartnerRepricingConfig repricingConfig. */
+ public repricingConfig?: (google.cloud.channel.v1.IRepricingConfig|null);
+
+ /** ChannelPartnerRepricingConfig updateTime. */
+ public updateTime?: (google.protobuf.ITimestamp|null);
+
+ /**
+ * Creates a new ChannelPartnerRepricingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChannelPartnerRepricingConfig instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IChannelPartnerRepricingConfig): google.cloud.channel.v1.ChannelPartnerRepricingConfig;
+
+ /**
+ * Encodes the specified ChannelPartnerRepricingConfig message. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerRepricingConfig.verify|verify} messages.
+ * @param message ChannelPartnerRepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IChannelPartnerRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChannelPartnerRepricingConfig message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerRepricingConfig.verify|verify} messages.
+ * @param message ChannelPartnerRepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IChannelPartnerRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChannelPartnerRepricingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChannelPartnerRepricingConfig
+ * @throws {Error} If the payload is not 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.channel.v1.ChannelPartnerRepricingConfig;
+
+ /**
+ * Decodes a ChannelPartnerRepricingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChannelPartnerRepricingConfig
+ * @throws {Error} If the payload 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.channel.v1.ChannelPartnerRepricingConfig;
+
+ /**
+ * Verifies a ChannelPartnerRepricingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChannelPartnerRepricingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChannelPartnerRepricingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ChannelPartnerRepricingConfig;
+
+ /**
+ * Creates a plain object from a ChannelPartnerRepricingConfig message. Also converts values to other types if specified.
+ * @param message ChannelPartnerRepricingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ChannelPartnerRepricingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChannelPartnerRepricingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChannelPartnerRepricingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RepricingConfig. */
+ interface IRepricingConfig {
+
+ /** RepricingConfig entitlementGranularity */
+ entitlementGranularity?: (google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity|null);
+
+ /** RepricingConfig channelPartnerGranularity */
+ channelPartnerGranularity?: (google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity|null);
+
+ /** RepricingConfig effectiveInvoiceMonth */
+ effectiveInvoiceMonth?: (google.type.IDate|null);
+
+ /** RepricingConfig adjustment */
+ adjustment?: (google.cloud.channel.v1.IRepricingAdjustment|null);
+
+ /** RepricingConfig rebillingBasis */
+ rebillingBasis?: (google.cloud.channel.v1.RebillingBasis|keyof typeof google.cloud.channel.v1.RebillingBasis|null);
+ }
+
+ /** Represents a RepricingConfig. */
+ class RepricingConfig implements IRepricingConfig {
+
+ /**
+ * Constructs a new RepricingConfig.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRepricingConfig);
+
+ /** RepricingConfig entitlementGranularity. */
+ public entitlementGranularity?: (google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity|null);
+
+ /** RepricingConfig channelPartnerGranularity. */
+ public channelPartnerGranularity?: (google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity|null);
+
+ /** RepricingConfig effectiveInvoiceMonth. */
+ public effectiveInvoiceMonth?: (google.type.IDate|null);
+
+ /** RepricingConfig adjustment. */
+ public adjustment?: (google.cloud.channel.v1.IRepricingAdjustment|null);
+
+ /** RepricingConfig rebillingBasis. */
+ public rebillingBasis: (google.cloud.channel.v1.RebillingBasis|keyof typeof google.cloud.channel.v1.RebillingBasis);
+
+ /** RepricingConfig granularity. */
+ public granularity?: ("entitlementGranularity"|"channelPartnerGranularity");
+
+ /**
+ * Creates a new RepricingConfig instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RepricingConfig instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRepricingConfig): google.cloud.channel.v1.RepricingConfig;
+
+ /**
+ * Encodes the specified RepricingConfig message. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.verify|verify} messages.
+ * @param message RepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RepricingConfig message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.verify|verify} messages.
+ * @param message RepricingConfig message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRepricingConfig, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RepricingConfig message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RepricingConfig
+ * @throws {Error} If the payload is not 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.channel.v1.RepricingConfig;
+
+ /**
+ * Decodes a RepricingConfig message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RepricingConfig
+ * @throws {Error} If the payload 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.channel.v1.RepricingConfig;
+
+ /**
+ * Verifies a RepricingConfig message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RepricingConfig message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RepricingConfig
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RepricingConfig;
+
+ /**
+ * Creates a plain object from a RepricingConfig message. Also converts values to other types if specified.
+ * @param message RepricingConfig
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RepricingConfig, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RepricingConfig to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RepricingConfig
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace RepricingConfig {
+
+ /** Properties of an EntitlementGranularity. */
+ interface IEntitlementGranularity {
+
+ /** EntitlementGranularity entitlement */
+ entitlement?: (string|null);
+ }
+
+ /** Represents an EntitlementGranularity. */
+ class EntitlementGranularity implements IEntitlementGranularity {
+
+ /**
+ * Constructs a new EntitlementGranularity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity);
+
+ /** EntitlementGranularity entitlement. */
+ public entitlement: string;
+
+ /**
+ * Creates a new EntitlementGranularity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EntitlementGranularity instance
+ */
+ public static create(properties?: google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity): google.cloud.channel.v1.RepricingConfig.EntitlementGranularity;
+
+ /**
+ * Encodes the specified EntitlementGranularity message. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.EntitlementGranularity.verify|verify} messages.
+ * @param message EntitlementGranularity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EntitlementGranularity message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.EntitlementGranularity.verify|verify} messages.
+ * @param message EntitlementGranularity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.RepricingConfig.IEntitlementGranularity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EntitlementGranularity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EntitlementGranularity
+ * @throws {Error} If the payload is not 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.channel.v1.RepricingConfig.EntitlementGranularity;
+
+ /**
+ * Decodes an EntitlementGranularity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EntitlementGranularity
+ * @throws {Error} If the payload 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.channel.v1.RepricingConfig.EntitlementGranularity;
+
+ /**
+ * Verifies an EntitlementGranularity message.
+ * @param message Plain 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 EntitlementGranularity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EntitlementGranularity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RepricingConfig.EntitlementGranularity;
+
+ /**
+ * Creates a plain object from an EntitlementGranularity message. Also converts values to other types if specified.
+ * @param message EntitlementGranularity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RepricingConfig.EntitlementGranularity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EntitlementGranularity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EntitlementGranularity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChannelPartnerGranularity. */
+ interface IChannelPartnerGranularity {
+ }
+
+ /** Represents a ChannelPartnerGranularity. */
+ class ChannelPartnerGranularity implements IChannelPartnerGranularity {
+
+ /**
+ * Constructs a new ChannelPartnerGranularity.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity);
+
+ /**
+ * Creates a new ChannelPartnerGranularity instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChannelPartnerGranularity instance
+ */
+ public static create(properties?: google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity): google.cloud.channel.v1.RepricingConfig.ChannelPartnerGranularity;
+
+ /**
+ * Encodes the specified ChannelPartnerGranularity message. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.ChannelPartnerGranularity.verify|verify} messages.
+ * @param message ChannelPartnerGranularity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChannelPartnerGranularity message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RepricingConfig.ChannelPartnerGranularity.verify|verify} messages.
+ * @param message ChannelPartnerGranularity message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.RepricingConfig.IChannelPartnerGranularity, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChannelPartnerGranularity message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChannelPartnerGranularity
+ * @throws {Error} If the payload is not 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.channel.v1.RepricingConfig.ChannelPartnerGranularity;
+
+ /**
+ * Decodes a ChannelPartnerGranularity message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChannelPartnerGranularity
+ * @throws {Error} If the payload 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.channel.v1.RepricingConfig.ChannelPartnerGranularity;
+
+ /**
+ * Verifies a ChannelPartnerGranularity message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChannelPartnerGranularity message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChannelPartnerGranularity
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RepricingConfig.ChannelPartnerGranularity;
+
+ /**
+ * Creates a plain object from a ChannelPartnerGranularity message. Also converts values to other types if specified.
+ * @param message ChannelPartnerGranularity
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RepricingConfig.ChannelPartnerGranularity, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChannelPartnerGranularity to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChannelPartnerGranularity
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a RepricingAdjustment. */
+ interface IRepricingAdjustment {
+
+ /** RepricingAdjustment percentageAdjustment */
+ percentageAdjustment?: (google.cloud.channel.v1.IPercentageAdjustment|null);
+ }
+
+ /** Represents a RepricingAdjustment. */
+ class RepricingAdjustment implements IRepricingAdjustment {
+
+ /**
+ * Constructs a new RepricingAdjustment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRepricingAdjustment);
+
+ /** RepricingAdjustment percentageAdjustment. */
+ public percentageAdjustment?: (google.cloud.channel.v1.IPercentageAdjustment|null);
+
+ /** RepricingAdjustment adjustment. */
+ public adjustment?: "percentageAdjustment";
+
+ /**
+ * Creates a new RepricingAdjustment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RepricingAdjustment instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRepricingAdjustment): google.cloud.channel.v1.RepricingAdjustment;
+
+ /**
+ * Encodes the specified RepricingAdjustment message. Does not implicitly {@link google.cloud.channel.v1.RepricingAdjustment.verify|verify} messages.
+ * @param message RepricingAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRepricingAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RepricingAdjustment message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RepricingAdjustment.verify|verify} messages.
+ * @param message RepricingAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRepricingAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RepricingAdjustment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RepricingAdjustment
+ * @throws {Error} If the payload is not 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.channel.v1.RepricingAdjustment;
+
+ /**
+ * Decodes a RepricingAdjustment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RepricingAdjustment
+ * @throws {Error} If the payload 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.channel.v1.RepricingAdjustment;
+
+ /**
+ * Verifies a RepricingAdjustment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RepricingAdjustment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RepricingAdjustment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RepricingAdjustment;
+
+ /**
+ * Creates a plain object from a RepricingAdjustment message. Also converts values to other types if specified.
+ * @param message RepricingAdjustment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RepricingAdjustment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RepricingAdjustment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RepricingAdjustment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PercentageAdjustment. */
+ interface IPercentageAdjustment {
+
+ /** PercentageAdjustment percentage */
+ percentage?: (google.type.IDecimal|null);
+ }
+
+ /** Represents a PercentageAdjustment. */
+ class PercentageAdjustment implements IPercentageAdjustment {
+
+ /**
+ * Constructs a new PercentageAdjustment.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPercentageAdjustment);
+
+ /** PercentageAdjustment percentage. */
+ public percentage?: (google.type.IDecimal|null);
+
+ /**
+ * Creates a new PercentageAdjustment instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PercentageAdjustment instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPercentageAdjustment): google.cloud.channel.v1.PercentageAdjustment;
+
+ /**
+ * Encodes the specified PercentageAdjustment message. Does not implicitly {@link google.cloud.channel.v1.PercentageAdjustment.verify|verify} messages.
+ * @param message PercentageAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPercentageAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PercentageAdjustment message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PercentageAdjustment.verify|verify} messages.
+ * @param message PercentageAdjustment message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPercentageAdjustment, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PercentageAdjustment message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PercentageAdjustment
+ * @throws {Error} If the payload is not 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.channel.v1.PercentageAdjustment;
+
+ /**
+ * Decodes a PercentageAdjustment message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PercentageAdjustment
+ * @throws {Error} If the payload 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.channel.v1.PercentageAdjustment;
+
+ /**
+ * Verifies a PercentageAdjustment message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PercentageAdjustment message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PercentageAdjustment
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PercentageAdjustment;
+
+ /**
+ * Creates a plain object from a PercentageAdjustment message. Also converts values to other types if specified.
+ * @param message PercentageAdjustment
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PercentageAdjustment, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PercentageAdjustment to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PercentageAdjustment
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Represents a CloudChannelService */
+ class CloudChannelService extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new CloudChannelService 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 CloudChannelService 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): CloudChannelService;
+
+ /**
+ * Calls ListCustomers.
+ * @param request ListCustomersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCustomersResponse
+ */
+ public listCustomers(request: google.cloud.channel.v1.IListCustomersRequest, callback: google.cloud.channel.v1.CloudChannelService.ListCustomersCallback): void;
+
+ /**
+ * Calls ListCustomers.
+ * @param request ListCustomersRequest message or plain object
+ * @returns Promise
+ */
+ public listCustomers(request: google.cloud.channel.v1.IListCustomersRequest): Promise;
+
+ /**
+ * Calls GetCustomer.
+ * @param request GetCustomerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Customer
+ */
+ public getCustomer(request: google.cloud.channel.v1.IGetCustomerRequest, callback: google.cloud.channel.v1.CloudChannelService.GetCustomerCallback): void;
+
+ /**
+ * Calls GetCustomer.
+ * @param request GetCustomerRequest message or plain object
+ * @returns Promise
+ */
+ public getCustomer(request: google.cloud.channel.v1.IGetCustomerRequest): Promise;
+
+ /**
+ * Calls CheckCloudIdentityAccountsExist.
+ * @param request CheckCloudIdentityAccountsExistRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CheckCloudIdentityAccountsExistResponse
+ */
+ public checkCloudIdentityAccountsExist(request: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest, callback: google.cloud.channel.v1.CloudChannelService.CheckCloudIdentityAccountsExistCallback): void;
+
+ /**
+ * Calls CheckCloudIdentityAccountsExist.
+ * @param request CheckCloudIdentityAccountsExistRequest message or plain object
+ * @returns Promise
+ */
+ public checkCloudIdentityAccountsExist(request: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest): Promise;
+
+ /**
+ * Calls CreateCustomer.
+ * @param request CreateCustomerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Customer
+ */
+ public createCustomer(request: google.cloud.channel.v1.ICreateCustomerRequest, callback: google.cloud.channel.v1.CloudChannelService.CreateCustomerCallback): void;
+
+ /**
+ * Calls CreateCustomer.
+ * @param request CreateCustomerRequest message or plain object
+ * @returns Promise
+ */
+ public createCustomer(request: google.cloud.channel.v1.ICreateCustomerRequest): Promise;
+
+ /**
+ * Calls UpdateCustomer.
+ * @param request UpdateCustomerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Customer
+ */
+ public updateCustomer(request: google.cloud.channel.v1.IUpdateCustomerRequest, callback: google.cloud.channel.v1.CloudChannelService.UpdateCustomerCallback): void;
+
+ /**
+ * Calls UpdateCustomer.
+ * @param request UpdateCustomerRequest message or plain object
+ * @returns Promise
+ */
+ public updateCustomer(request: google.cloud.channel.v1.IUpdateCustomerRequest): Promise;
+
+ /**
+ * Calls DeleteCustomer.
+ * @param request DeleteCustomerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteCustomer(request: google.cloud.channel.v1.IDeleteCustomerRequest, callback: google.cloud.channel.v1.CloudChannelService.DeleteCustomerCallback): void;
+
+ /**
+ * Calls DeleteCustomer.
+ * @param request DeleteCustomerRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCustomer(request: google.cloud.channel.v1.IDeleteCustomerRequest): Promise;
+
+ /**
+ * Calls ImportCustomer.
+ * @param request ImportCustomerRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Customer
+ */
+ public importCustomer(request: google.cloud.channel.v1.IImportCustomerRequest, callback: google.cloud.channel.v1.CloudChannelService.ImportCustomerCallback): void;
+
+ /**
+ * Calls ImportCustomer.
+ * @param request ImportCustomerRequest message or plain object
+ * @returns Promise
+ */
+ public importCustomer(request: google.cloud.channel.v1.IImportCustomerRequest): Promise;
+
+ /**
+ * Calls ProvisionCloudIdentity.
+ * @param request ProvisionCloudIdentityRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public provisionCloudIdentity(request: google.cloud.channel.v1.IProvisionCloudIdentityRequest, callback: google.cloud.channel.v1.CloudChannelService.ProvisionCloudIdentityCallback): void;
+
+ /**
+ * Calls ProvisionCloudIdentity.
+ * @param request ProvisionCloudIdentityRequest message or plain object
+ * @returns Promise
+ */
+ public provisionCloudIdentity(request: google.cloud.channel.v1.IProvisionCloudIdentityRequest): Promise;
+
+ /**
+ * Calls ListEntitlements.
+ * @param request ListEntitlementsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListEntitlementsResponse
+ */
+ public listEntitlements(request: google.cloud.channel.v1.IListEntitlementsRequest, callback: google.cloud.channel.v1.CloudChannelService.ListEntitlementsCallback): void;
+
+ /**
+ * Calls ListEntitlements.
+ * @param request ListEntitlementsRequest message or plain object
+ * @returns Promise
+ */
+ public listEntitlements(request: google.cloud.channel.v1.IListEntitlementsRequest): Promise;
+
+ /**
+ * Calls ListTransferableSkus.
+ * @param request ListTransferableSkusRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTransferableSkusResponse
+ */
+ public listTransferableSkus(request: google.cloud.channel.v1.IListTransferableSkusRequest, callback: google.cloud.channel.v1.CloudChannelService.ListTransferableSkusCallback): void;
+
+ /**
+ * Calls ListTransferableSkus.
+ * @param request ListTransferableSkusRequest message or plain object
+ * @returns Promise
+ */
+ public listTransferableSkus(request: google.cloud.channel.v1.IListTransferableSkusRequest): Promise;
+
+ /**
+ * Calls ListTransferableOffers.
+ * @param request ListTransferableOffersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListTransferableOffersResponse
+ */
+ public listTransferableOffers(request: google.cloud.channel.v1.IListTransferableOffersRequest, callback: google.cloud.channel.v1.CloudChannelService.ListTransferableOffersCallback): void;
+
+ /**
+ * Calls ListTransferableOffers.
+ * @param request ListTransferableOffersRequest message or plain object
+ * @returns Promise
+ */
+ public listTransferableOffers(request: google.cloud.channel.v1.IListTransferableOffersRequest): Promise;
+
+ /**
+ * Calls GetEntitlement.
+ * @param request GetEntitlementRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Entitlement
+ */
+ public getEntitlement(request: google.cloud.channel.v1.IGetEntitlementRequest, callback: google.cloud.channel.v1.CloudChannelService.GetEntitlementCallback): void;
+
+ /**
+ * Calls GetEntitlement.
+ * @param request GetEntitlementRequest message or plain object
+ * @returns Promise
+ */
+ public getEntitlement(request: google.cloud.channel.v1.IGetEntitlementRequest): Promise;
+
+ /**
+ * Calls CreateEntitlement.
+ * @param request CreateEntitlementRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public createEntitlement(request: google.cloud.channel.v1.ICreateEntitlementRequest, callback: google.cloud.channel.v1.CloudChannelService.CreateEntitlementCallback): void;
+
+ /**
+ * Calls CreateEntitlement.
+ * @param request CreateEntitlementRequest message or plain object
+ * @returns Promise
+ */
+ public createEntitlement(request: google.cloud.channel.v1.ICreateEntitlementRequest): Promise;
+
+ /**
+ * Calls ChangeParameters.
+ * @param request ChangeParametersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public changeParameters(request: google.cloud.channel.v1.IChangeParametersRequest, callback: google.cloud.channel.v1.CloudChannelService.ChangeParametersCallback): void;
+
+ /**
+ * Calls ChangeParameters.
+ * @param request ChangeParametersRequest message or plain object
+ * @returns Promise
+ */
+ public changeParameters(request: google.cloud.channel.v1.IChangeParametersRequest): Promise;
+
+ /**
+ * Calls ChangeRenewalSettings.
+ * @param request ChangeRenewalSettingsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public changeRenewalSettings(request: google.cloud.channel.v1.IChangeRenewalSettingsRequest, callback: google.cloud.channel.v1.CloudChannelService.ChangeRenewalSettingsCallback): void;
+
+ /**
+ * Calls ChangeRenewalSettings.
+ * @param request ChangeRenewalSettingsRequest message or plain object
+ * @returns Promise
+ */
+ public changeRenewalSettings(request: google.cloud.channel.v1.IChangeRenewalSettingsRequest): Promise;
+
+ /**
+ * Calls ChangeOffer.
+ * @param request ChangeOfferRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public changeOffer(request: google.cloud.channel.v1.IChangeOfferRequest, callback: google.cloud.channel.v1.CloudChannelService.ChangeOfferCallback): void;
+
+ /**
+ * Calls ChangeOffer.
+ * @param request ChangeOfferRequest message or plain object
+ * @returns Promise
+ */
+ public changeOffer(request: google.cloud.channel.v1.IChangeOfferRequest): Promise;
+
+ /**
+ * Calls StartPaidService.
+ * @param request StartPaidServiceRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public startPaidService(request: google.cloud.channel.v1.IStartPaidServiceRequest, callback: google.cloud.channel.v1.CloudChannelService.StartPaidServiceCallback): void;
+
+ /**
+ * Calls StartPaidService.
+ * @param request StartPaidServiceRequest message or plain object
+ * @returns Promise
+ */
+ public startPaidService(request: google.cloud.channel.v1.IStartPaidServiceRequest): Promise;
+
+ /**
+ * Calls SuspendEntitlement.
+ * @param request SuspendEntitlementRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public suspendEntitlement(request: google.cloud.channel.v1.ISuspendEntitlementRequest, callback: google.cloud.channel.v1.CloudChannelService.SuspendEntitlementCallback): void;
+
+ /**
+ * Calls SuspendEntitlement.
+ * @param request SuspendEntitlementRequest message or plain object
+ * @returns Promise
+ */
+ public suspendEntitlement(request: google.cloud.channel.v1.ISuspendEntitlementRequest): Promise;
+
+ /**
+ * Calls CancelEntitlement.
+ * @param request CancelEntitlementRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public cancelEntitlement(request: google.cloud.channel.v1.ICancelEntitlementRequest, callback: google.cloud.channel.v1.CloudChannelService.CancelEntitlementCallback): void;
+
+ /**
+ * Calls CancelEntitlement.
+ * @param request CancelEntitlementRequest message or plain object
+ * @returns Promise
+ */
+ public cancelEntitlement(request: google.cloud.channel.v1.ICancelEntitlementRequest): Promise;
+
+ /**
+ * Calls ActivateEntitlement.
+ * @param request ActivateEntitlementRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public activateEntitlement(request: google.cloud.channel.v1.IActivateEntitlementRequest, callback: google.cloud.channel.v1.CloudChannelService.ActivateEntitlementCallback): void;
+
+ /**
+ * Calls ActivateEntitlement.
+ * @param request ActivateEntitlementRequest message or plain object
+ * @returns Promise
+ */
+ public activateEntitlement(request: google.cloud.channel.v1.IActivateEntitlementRequest): Promise;
+
+ /**
+ * Calls TransferEntitlements.
+ * @param request TransferEntitlementsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public transferEntitlements(request: google.cloud.channel.v1.ITransferEntitlementsRequest, callback: google.cloud.channel.v1.CloudChannelService.TransferEntitlementsCallback): void;
+
+ /**
+ * Calls TransferEntitlements.
+ * @param request TransferEntitlementsRequest message or plain object
+ * @returns Promise
+ */
+ public transferEntitlements(request: google.cloud.channel.v1.ITransferEntitlementsRequest): Promise;
+
+ /**
+ * Calls TransferEntitlementsToGoogle.
+ * @param request TransferEntitlementsToGoogleRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public transferEntitlementsToGoogle(request: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest, callback: google.cloud.channel.v1.CloudChannelService.TransferEntitlementsToGoogleCallback): void;
+
+ /**
+ * Calls TransferEntitlementsToGoogle.
+ * @param request TransferEntitlementsToGoogleRequest message or plain object
+ * @returns Promise
+ */
+ public transferEntitlementsToGoogle(request: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest): Promise;
+
+ /**
+ * Calls ListChannelPartnerLinks.
+ * @param request ListChannelPartnerLinksRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListChannelPartnerLinksResponse
+ */
+ public listChannelPartnerLinks(request: google.cloud.channel.v1.IListChannelPartnerLinksRequest, callback: google.cloud.channel.v1.CloudChannelService.ListChannelPartnerLinksCallback): void;
+
+ /**
+ * Calls ListChannelPartnerLinks.
+ * @param request ListChannelPartnerLinksRequest message or plain object
+ * @returns Promise
+ */
+ public listChannelPartnerLinks(request: google.cloud.channel.v1.IListChannelPartnerLinksRequest): Promise;
+
+ /**
+ * Calls GetChannelPartnerLink.
+ * @param request GetChannelPartnerLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerLink
+ */
+ public getChannelPartnerLink(request: google.cloud.channel.v1.IGetChannelPartnerLinkRequest, callback: google.cloud.channel.v1.CloudChannelService.GetChannelPartnerLinkCallback): void;
+
+ /**
+ * Calls GetChannelPartnerLink.
+ * @param request GetChannelPartnerLinkRequest message or plain object
+ * @returns Promise
+ */
+ public getChannelPartnerLink(request: google.cloud.channel.v1.IGetChannelPartnerLinkRequest): Promise;
+
+ /**
+ * Calls CreateChannelPartnerLink.
+ * @param request CreateChannelPartnerLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerLink
+ */
+ public createChannelPartnerLink(request: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest, callback: google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerLinkCallback): void;
+
+ /**
+ * Calls CreateChannelPartnerLink.
+ * @param request CreateChannelPartnerLinkRequest message or plain object
+ * @returns Promise
+ */
+ public createChannelPartnerLink(request: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest): Promise;
+
+ /**
+ * Calls UpdateChannelPartnerLink.
+ * @param request UpdateChannelPartnerLinkRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerLink
+ */
+ public updateChannelPartnerLink(request: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest, callback: google.cloud.channel.v1.CloudChannelService.UpdateChannelPartnerLinkCallback): void;
+
+ /**
+ * Calls UpdateChannelPartnerLink.
+ * @param request UpdateChannelPartnerLinkRequest message or plain object
+ * @returns Promise
+ */
+ public updateChannelPartnerLink(request: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest): Promise;
+
+ /**
+ * Calls GetCustomerRepricingConfig.
+ * @param request GetCustomerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CustomerRepricingConfig
+ */
+ public getCustomerRepricingConfig(request: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.GetCustomerRepricingConfigCallback): void;
+
+ /**
+ * Calls GetCustomerRepricingConfig.
+ * @param request GetCustomerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getCustomerRepricingConfig(request: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls ListCustomerRepricingConfigs.
+ * @param request ListCustomerRepricingConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListCustomerRepricingConfigsResponse
+ */
+ public listCustomerRepricingConfigs(request: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest, callback: google.cloud.channel.v1.CloudChannelService.ListCustomerRepricingConfigsCallback): void;
+
+ /**
+ * Calls ListCustomerRepricingConfigs.
+ * @param request ListCustomerRepricingConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listCustomerRepricingConfigs(request: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest): Promise;
+
+ /**
+ * Calls CreateCustomerRepricingConfig.
+ * @param request CreateCustomerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CustomerRepricingConfig
+ */
+ public createCustomerRepricingConfig(request: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.CreateCustomerRepricingConfigCallback): void;
+
+ /**
+ * Calls CreateCustomerRepricingConfig.
+ * @param request CreateCustomerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createCustomerRepricingConfig(request: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls UpdateCustomerRepricingConfig.
+ * @param request UpdateCustomerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and CustomerRepricingConfig
+ */
+ public updateCustomerRepricingConfig(request: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.UpdateCustomerRepricingConfigCallback): void;
+
+ /**
+ * Calls UpdateCustomerRepricingConfig.
+ * @param request UpdateCustomerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateCustomerRepricingConfig(request: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls DeleteCustomerRepricingConfig.
+ * @param request DeleteCustomerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteCustomerRepricingConfig(request: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.DeleteCustomerRepricingConfigCallback): void;
+
+ /**
+ * Calls DeleteCustomerRepricingConfig.
+ * @param request DeleteCustomerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteCustomerRepricingConfig(request: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls GetChannelPartnerRepricingConfig.
+ * @param request GetChannelPartnerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerRepricingConfig
+ */
+ public getChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.GetChannelPartnerRepricingConfigCallback): void;
+
+ /**
+ * Calls GetChannelPartnerRepricingConfig.
+ * @param request GetChannelPartnerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public getChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls ListChannelPartnerRepricingConfigs.
+ * @param request ListChannelPartnerRepricingConfigsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListChannelPartnerRepricingConfigsResponse
+ */
+ public listChannelPartnerRepricingConfigs(request: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest, callback: google.cloud.channel.v1.CloudChannelService.ListChannelPartnerRepricingConfigsCallback): void;
+
+ /**
+ * Calls ListChannelPartnerRepricingConfigs.
+ * @param request ListChannelPartnerRepricingConfigsRequest message or plain object
+ * @returns Promise
+ */
+ public listChannelPartnerRepricingConfigs(request: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest): Promise;
+
+ /**
+ * Calls CreateChannelPartnerRepricingConfig.
+ * @param request CreateChannelPartnerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerRepricingConfig
+ */
+ public createChannelPartnerRepricingConfig(request: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.CreateChannelPartnerRepricingConfigCallback): void;
+
+ /**
+ * Calls CreateChannelPartnerRepricingConfig.
+ * @param request CreateChannelPartnerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public createChannelPartnerRepricingConfig(request: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls UpdateChannelPartnerRepricingConfig.
+ * @param request UpdateChannelPartnerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ChannelPartnerRepricingConfig
+ */
+ public updateChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.UpdateChannelPartnerRepricingConfigCallback): void;
+
+ /**
+ * Calls UpdateChannelPartnerRepricingConfig.
+ * @param request UpdateChannelPartnerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public updateChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls DeleteChannelPartnerRepricingConfig.
+ * @param request DeleteChannelPartnerRepricingConfigRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest, callback: google.cloud.channel.v1.CloudChannelService.DeleteChannelPartnerRepricingConfigCallback): void;
+
+ /**
+ * Calls DeleteChannelPartnerRepricingConfig.
+ * @param request DeleteChannelPartnerRepricingConfigRequest message or plain object
+ * @returns Promise
+ */
+ public deleteChannelPartnerRepricingConfig(request: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest): Promise;
+
+ /**
+ * Calls LookupOffer.
+ * @param request LookupOfferRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Offer
+ */
+ public lookupOffer(request: google.cloud.channel.v1.ILookupOfferRequest, callback: google.cloud.channel.v1.CloudChannelService.LookupOfferCallback): void;
+
+ /**
+ * Calls LookupOffer.
+ * @param request LookupOfferRequest message or plain object
+ * @returns Promise
+ */
+ public lookupOffer(request: google.cloud.channel.v1.ILookupOfferRequest): Promise;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListProductsResponse
+ */
+ public listProducts(request: google.cloud.channel.v1.IListProductsRequest, callback: google.cloud.channel.v1.CloudChannelService.ListProductsCallback): void;
+
+ /**
+ * Calls ListProducts.
+ * @param request ListProductsRequest message or plain object
+ * @returns Promise
+ */
+ public listProducts(request: google.cloud.channel.v1.IListProductsRequest): Promise;
+
+ /**
+ * Calls ListSkus.
+ * @param request ListSkusRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSkusResponse
+ */
+ public listSkus(request: google.cloud.channel.v1.IListSkusRequest, callback: google.cloud.channel.v1.CloudChannelService.ListSkusCallback): void;
+
+ /**
+ * Calls ListSkus.
+ * @param request ListSkusRequest message or plain object
+ * @returns Promise
+ */
+ public listSkus(request: google.cloud.channel.v1.IListSkusRequest): Promise;
+
+ /**
+ * Calls ListOffers.
+ * @param request ListOffersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOffersResponse
+ */
+ public listOffers(request: google.cloud.channel.v1.IListOffersRequest, callback: google.cloud.channel.v1.CloudChannelService.ListOffersCallback): void;
+
+ /**
+ * Calls ListOffers.
+ * @param request ListOffersRequest message or plain object
+ * @returns Promise
+ */
+ public listOffers(request: google.cloud.channel.v1.IListOffersRequest): Promise;
+
+ /**
+ * Calls ListPurchasableSkus.
+ * @param request ListPurchasableSkusRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListPurchasableSkusResponse
+ */
+ public listPurchasableSkus(request: google.cloud.channel.v1.IListPurchasableSkusRequest, callback: google.cloud.channel.v1.CloudChannelService.ListPurchasableSkusCallback): void;
+
+ /**
+ * Calls ListPurchasableSkus.
+ * @param request ListPurchasableSkusRequest message or plain object
+ * @returns Promise
+ */
+ public listPurchasableSkus(request: google.cloud.channel.v1.IListPurchasableSkusRequest): Promise;
+
+ /**
+ * Calls ListPurchasableOffers.
+ * @param request ListPurchasableOffersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListPurchasableOffersResponse
+ */
+ public listPurchasableOffers(request: google.cloud.channel.v1.IListPurchasableOffersRequest, callback: google.cloud.channel.v1.CloudChannelService.ListPurchasableOffersCallback): void;
+
+ /**
+ * Calls ListPurchasableOffers.
+ * @param request ListPurchasableOffersRequest message or plain object
+ * @returns Promise
+ */
+ public listPurchasableOffers(request: google.cloud.channel.v1.IListPurchasableOffersRequest): Promise;
+
+ /**
+ * Calls RegisterSubscriber.
+ * @param request RegisterSubscriberRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and RegisterSubscriberResponse
+ */
+ public registerSubscriber(request: google.cloud.channel.v1.IRegisterSubscriberRequest, callback: google.cloud.channel.v1.CloudChannelService.RegisterSubscriberCallback): void;
+
+ /**
+ * Calls RegisterSubscriber.
+ * @param request RegisterSubscriberRequest message or plain object
+ * @returns Promise
+ */
+ public registerSubscriber(request: google.cloud.channel.v1.IRegisterSubscriberRequest): Promise;
+
+ /**
+ * Calls UnregisterSubscriber.
+ * @param request UnregisterSubscriberRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and UnregisterSubscriberResponse
+ */
+ public unregisterSubscriber(request: google.cloud.channel.v1.IUnregisterSubscriberRequest, callback: google.cloud.channel.v1.CloudChannelService.UnregisterSubscriberCallback): void;
+
+ /**
+ * Calls UnregisterSubscriber.
+ * @param request UnregisterSubscriberRequest message or plain object
+ * @returns Promise
+ */
+ public unregisterSubscriber(request: google.cloud.channel.v1.IUnregisterSubscriberRequest): Promise;
+
+ /**
+ * Calls ListSubscribers.
+ * @param request ListSubscribersRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListSubscribersResponse
+ */
+ public listSubscribers(request: google.cloud.channel.v1.IListSubscribersRequest, callback: google.cloud.channel.v1.CloudChannelService.ListSubscribersCallback): void;
+
+ /**
+ * Calls ListSubscribers.
+ * @param request ListSubscribersRequest message or plain object
+ * @returns Promise
+ */
+ public listSubscribers(request: google.cloud.channel.v1.IListSubscribersRequest): Promise;
+ }
+
+ namespace CloudChannelService {
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listCustomers}.
+ * @param error Error, if any
+ * @param [response] ListCustomersResponse
+ */
+ type ListCustomersCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListCustomersResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|getCustomer}.
+ * @param error Error, if any
+ * @param [response] Customer
+ */
+ type GetCustomerCallback = (error: (Error|null), response?: google.cloud.channel.v1.Customer) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|checkCloudIdentityAccountsExist}.
+ * @param error Error, if any
+ * @param [response] CheckCloudIdentityAccountsExistResponse
+ */
+ type CheckCloudIdentityAccountsExistCallback = (error: (Error|null), response?: google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|createCustomer}.
+ * @param error Error, if any
+ * @param [response] Customer
+ */
+ type CreateCustomerCallback = (error: (Error|null), response?: google.cloud.channel.v1.Customer) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|updateCustomer}.
+ * @param error Error, if any
+ * @param [response] Customer
+ */
+ type UpdateCustomerCallback = (error: (Error|null), response?: google.cloud.channel.v1.Customer) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|deleteCustomer}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteCustomerCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|importCustomer}.
+ * @param error Error, if any
+ * @param [response] Customer
+ */
+ type ImportCustomerCallback = (error: (Error|null), response?: google.cloud.channel.v1.Customer) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|provisionCloudIdentity}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ProvisionCloudIdentityCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listEntitlements}.
+ * @param error Error, if any
+ * @param [response] ListEntitlementsResponse
+ */
+ type ListEntitlementsCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListEntitlementsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listTransferableSkus}.
+ * @param error Error, if any
+ * @param [response] ListTransferableSkusResponse
+ */
+ type ListTransferableSkusCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListTransferableSkusResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listTransferableOffers}.
+ * @param error Error, if any
+ * @param [response] ListTransferableOffersResponse
+ */
+ type ListTransferableOffersCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListTransferableOffersResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|getEntitlement}.
+ * @param error Error, if any
+ * @param [response] Entitlement
+ */
+ type GetEntitlementCallback = (error: (Error|null), response?: google.cloud.channel.v1.Entitlement) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|createEntitlement}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CreateEntitlementCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|changeParameters}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ChangeParametersCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|changeRenewalSettings}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ChangeRenewalSettingsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|changeOffer}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ChangeOfferCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|startPaidService}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type StartPaidServiceCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|suspendEntitlement}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type SuspendEntitlementCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|cancelEntitlement}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type CancelEntitlementCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|activateEntitlement}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type ActivateEntitlementCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|transferEntitlements}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type TransferEntitlementsCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|transferEntitlementsToGoogle}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type TransferEntitlementsToGoogleCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listChannelPartnerLinks}.
+ * @param error Error, if any
+ * @param [response] ListChannelPartnerLinksResponse
+ */
+ type ListChannelPartnerLinksCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListChannelPartnerLinksResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|getChannelPartnerLink}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerLink
+ */
+ type GetChannelPartnerLinkCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerLink) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|createChannelPartnerLink}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerLink
+ */
+ type CreateChannelPartnerLinkCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerLink) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|updateChannelPartnerLink}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerLink
+ */
+ type UpdateChannelPartnerLinkCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerLink) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|getCustomerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] CustomerRepricingConfig
+ */
+ type GetCustomerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.CustomerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listCustomerRepricingConfigs}.
+ * @param error Error, if any
+ * @param [response] ListCustomerRepricingConfigsResponse
+ */
+ type ListCustomerRepricingConfigsCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListCustomerRepricingConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|createCustomerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] CustomerRepricingConfig
+ */
+ type CreateCustomerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.CustomerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|updateCustomerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] CustomerRepricingConfig
+ */
+ type UpdateCustomerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.CustomerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|deleteCustomerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteCustomerRepricingConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|getChannelPartnerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerRepricingConfig
+ */
+ type GetChannelPartnerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listChannelPartnerRepricingConfigs}.
+ * @param error Error, if any
+ * @param [response] ListChannelPartnerRepricingConfigsResponse
+ */
+ type ListChannelPartnerRepricingConfigsCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|createChannelPartnerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerRepricingConfig
+ */
+ type CreateChannelPartnerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|updateChannelPartnerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] ChannelPartnerRepricingConfig
+ */
+ type UpdateChannelPartnerRepricingConfigCallback = (error: (Error|null), response?: google.cloud.channel.v1.ChannelPartnerRepricingConfig) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|deleteChannelPartnerRepricingConfig}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteChannelPartnerRepricingConfigCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|lookupOffer}.
+ * @param error Error, if any
+ * @param [response] Offer
+ */
+ type LookupOfferCallback = (error: (Error|null), response?: google.cloud.channel.v1.Offer) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listProducts}.
+ * @param error Error, if any
+ * @param [response] ListProductsResponse
+ */
+ type ListProductsCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListProductsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listSkus}.
+ * @param error Error, if any
+ * @param [response] ListSkusResponse
+ */
+ type ListSkusCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListSkusResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listOffers}.
+ * @param error Error, if any
+ * @param [response] ListOffersResponse
+ */
+ type ListOffersCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListOffersResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listPurchasableSkus}.
+ * @param error Error, if any
+ * @param [response] ListPurchasableSkusResponse
+ */
+ type ListPurchasableSkusCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListPurchasableSkusResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listPurchasableOffers}.
+ * @param error Error, if any
+ * @param [response] ListPurchasableOffersResponse
+ */
+ type ListPurchasableOffersCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListPurchasableOffersResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|registerSubscriber}.
+ * @param error Error, if any
+ * @param [response] RegisterSubscriberResponse
+ */
+ type RegisterSubscriberCallback = (error: (Error|null), response?: google.cloud.channel.v1.RegisterSubscriberResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|unregisterSubscriber}.
+ * @param error Error, if any
+ * @param [response] UnregisterSubscriberResponse
+ */
+ type UnregisterSubscriberCallback = (error: (Error|null), response?: google.cloud.channel.v1.UnregisterSubscriberResponse) => void;
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelService|listSubscribers}.
+ * @param error Error, if any
+ * @param [response] ListSubscribersResponse
+ */
+ type ListSubscribersCallback = (error: (Error|null), response?: google.cloud.channel.v1.ListSubscribersResponse) => void;
+ }
+
+ /** Properties of a CheckCloudIdentityAccountsExistRequest. */
+ interface ICheckCloudIdentityAccountsExistRequest {
+
+ /** CheckCloudIdentityAccountsExistRequest parent */
+ parent?: (string|null);
+
+ /** CheckCloudIdentityAccountsExistRequest domain */
+ domain?: (string|null);
+ }
+
+ /** Represents a CheckCloudIdentityAccountsExistRequest. */
+ class CheckCloudIdentityAccountsExistRequest implements ICheckCloudIdentityAccountsExistRequest {
+
+ /**
+ * Constructs a new CheckCloudIdentityAccountsExistRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest);
+
+ /** CheckCloudIdentityAccountsExistRequest parent. */
+ public parent: string;
+
+ /** CheckCloudIdentityAccountsExistRequest domain. */
+ public domain: string;
+
+ /**
+ * Creates a new CheckCloudIdentityAccountsExistRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CheckCloudIdentityAccountsExistRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest): google.cloud.channel.v1.CheckCloudIdentityAccountsExistRequest;
+
+ /**
+ * Encodes the specified CheckCloudIdentityAccountsExistRequest message. Does not implicitly {@link google.cloud.channel.v1.CheckCloudIdentityAccountsExistRequest.verify|verify} messages.
+ * @param message CheckCloudIdentityAccountsExistRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CheckCloudIdentityAccountsExistRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CheckCloudIdentityAccountsExistRequest.verify|verify} messages.
+ * @param message CheckCloudIdentityAccountsExistRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CheckCloudIdentityAccountsExistRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CheckCloudIdentityAccountsExistRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CheckCloudIdentityAccountsExistRequest;
+
+ /**
+ * Decodes a CheckCloudIdentityAccountsExistRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CheckCloudIdentityAccountsExistRequest
+ * @throws {Error} If the payload 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.channel.v1.CheckCloudIdentityAccountsExistRequest;
+
+ /**
+ * Verifies a CheckCloudIdentityAccountsExistRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CheckCloudIdentityAccountsExistRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CheckCloudIdentityAccountsExistRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CheckCloudIdentityAccountsExistRequest;
+
+ /**
+ * Creates a plain object from a CheckCloudIdentityAccountsExistRequest message. Also converts values to other types if specified.
+ * @param message CheckCloudIdentityAccountsExistRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CheckCloudIdentityAccountsExistRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CheckCloudIdentityAccountsExistRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CheckCloudIdentityAccountsExistRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CloudIdentityCustomerAccount. */
+ interface ICloudIdentityCustomerAccount {
+
+ /** CloudIdentityCustomerAccount existing */
+ existing?: (boolean|null);
+
+ /** CloudIdentityCustomerAccount owned */
+ owned?: (boolean|null);
+
+ /** CloudIdentityCustomerAccount customerName */
+ customerName?: (string|null);
+
+ /** CloudIdentityCustomerAccount customerCloudIdentityId */
+ customerCloudIdentityId?: (string|null);
+ }
+
+ /** Represents a CloudIdentityCustomerAccount. */
+ class CloudIdentityCustomerAccount implements ICloudIdentityCustomerAccount {
+
+ /**
+ * Constructs a new CloudIdentityCustomerAccount.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICloudIdentityCustomerAccount);
+
+ /** CloudIdentityCustomerAccount existing. */
+ public existing: boolean;
+
+ /** CloudIdentityCustomerAccount owned. */
+ public owned: boolean;
+
+ /** CloudIdentityCustomerAccount customerName. */
+ public customerName: string;
+
+ /** CloudIdentityCustomerAccount customerCloudIdentityId. */
+ public customerCloudIdentityId: string;
+
+ /**
+ * Creates a new CloudIdentityCustomerAccount instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CloudIdentityCustomerAccount instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICloudIdentityCustomerAccount): google.cloud.channel.v1.CloudIdentityCustomerAccount;
+
+ /**
+ * Encodes the specified CloudIdentityCustomerAccount message. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityCustomerAccount.verify|verify} messages.
+ * @param message CloudIdentityCustomerAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICloudIdentityCustomerAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CloudIdentityCustomerAccount message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityCustomerAccount.verify|verify} messages.
+ * @param message CloudIdentityCustomerAccount message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICloudIdentityCustomerAccount, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CloudIdentityCustomerAccount message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CloudIdentityCustomerAccount
+ * @throws {Error} If the payload is not 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.channel.v1.CloudIdentityCustomerAccount;
+
+ /**
+ * Decodes a CloudIdentityCustomerAccount message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CloudIdentityCustomerAccount
+ * @throws {Error} If the payload 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.channel.v1.CloudIdentityCustomerAccount;
+
+ /**
+ * Verifies a CloudIdentityCustomerAccount message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CloudIdentityCustomerAccount message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CloudIdentityCustomerAccount
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CloudIdentityCustomerAccount;
+
+ /**
+ * Creates a plain object from a CloudIdentityCustomerAccount message. Also converts values to other types if specified.
+ * @param message CloudIdentityCustomerAccount
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CloudIdentityCustomerAccount, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CloudIdentityCustomerAccount to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CloudIdentityCustomerAccount
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CheckCloudIdentityAccountsExistResponse. */
+ interface ICheckCloudIdentityAccountsExistResponse {
+
+ /** CheckCloudIdentityAccountsExistResponse cloudIdentityAccounts */
+ cloudIdentityAccounts?: (google.cloud.channel.v1.ICloudIdentityCustomerAccount[]|null);
+ }
+
+ /** Represents a CheckCloudIdentityAccountsExistResponse. */
+ class CheckCloudIdentityAccountsExistResponse implements ICheckCloudIdentityAccountsExistResponse {
+
+ /**
+ * Constructs a new CheckCloudIdentityAccountsExistResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistResponse);
+
+ /** CheckCloudIdentityAccountsExistResponse cloudIdentityAccounts. */
+ public cloudIdentityAccounts: google.cloud.channel.v1.ICloudIdentityCustomerAccount[];
+
+ /**
+ * Creates a new CheckCloudIdentityAccountsExistResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CheckCloudIdentityAccountsExistResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistResponse): google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse;
+
+ /**
+ * Encodes the specified CheckCloudIdentityAccountsExistResponse message. Does not implicitly {@link google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse.verify|verify} messages.
+ * @param message CheckCloudIdentityAccountsExistResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CheckCloudIdentityAccountsExistResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse.verify|verify} messages.
+ * @param message CheckCloudIdentityAccountsExistResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICheckCloudIdentityAccountsExistResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CheckCloudIdentityAccountsExistResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CheckCloudIdentityAccountsExistResponse
+ * @throws {Error} If the payload is not 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.channel.v1.CheckCloudIdentityAccountsExistResponse;
+
+ /**
+ * Decodes a CheckCloudIdentityAccountsExistResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CheckCloudIdentityAccountsExistResponse
+ * @throws {Error} If the payload 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.channel.v1.CheckCloudIdentityAccountsExistResponse;
+
+ /**
+ * Verifies a CheckCloudIdentityAccountsExistResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CheckCloudIdentityAccountsExistResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CheckCloudIdentityAccountsExistResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse;
+
+ /**
+ * Creates a plain object from a CheckCloudIdentityAccountsExistResponse message. Also converts values to other types if specified.
+ * @param message CheckCloudIdentityAccountsExistResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CheckCloudIdentityAccountsExistResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CheckCloudIdentityAccountsExistResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CheckCloudIdentityAccountsExistResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCustomersRequest. */
+ interface IListCustomersRequest {
+
+ /** ListCustomersRequest parent */
+ parent?: (string|null);
+
+ /** ListCustomersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCustomersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCustomersRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListCustomersRequest. */
+ class ListCustomersRequest implements IListCustomersRequest {
+
+ /**
+ * Constructs a new ListCustomersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListCustomersRequest);
+
+ /** ListCustomersRequest parent. */
+ public parent: string;
+
+ /** ListCustomersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCustomersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCustomersRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListCustomersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCustomersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListCustomersRequest): google.cloud.channel.v1.ListCustomersRequest;
+
+ /**
+ * Encodes the specified ListCustomersRequest message. Does not implicitly {@link google.cloud.channel.v1.ListCustomersRequest.verify|verify} messages.
+ * @param message ListCustomersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListCustomersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCustomersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListCustomersRequest.verify|verify} messages.
+ * @param message ListCustomersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListCustomersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCustomersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCustomersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListCustomersRequest;
+
+ /**
+ * Decodes a ListCustomersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCustomersRequest
+ * @throws {Error} If the payload 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.channel.v1.ListCustomersRequest;
+
+ /**
+ * Verifies a ListCustomersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCustomersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCustomersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListCustomersRequest;
+
+ /**
+ * Creates a plain object from a ListCustomersRequest message. Also converts values to other types if specified.
+ * @param message ListCustomersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListCustomersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCustomersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCustomersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCustomersResponse. */
+ interface IListCustomersResponse {
+
+ /** ListCustomersResponse customers */
+ customers?: (google.cloud.channel.v1.ICustomer[]|null);
+
+ /** ListCustomersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListCustomersResponse. */
+ class ListCustomersResponse implements IListCustomersResponse {
+
+ /**
+ * Constructs a new ListCustomersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListCustomersResponse);
+
+ /** ListCustomersResponse customers. */
+ public customers: google.cloud.channel.v1.ICustomer[];
+
+ /** ListCustomersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListCustomersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCustomersResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListCustomersResponse): google.cloud.channel.v1.ListCustomersResponse;
+
+ /**
+ * Encodes the specified ListCustomersResponse message. Does not implicitly {@link google.cloud.channel.v1.ListCustomersResponse.verify|verify} messages.
+ * @param message ListCustomersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListCustomersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCustomersResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListCustomersResponse.verify|verify} messages.
+ * @param message ListCustomersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListCustomersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCustomersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCustomersResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListCustomersResponse;
+
+ /**
+ * Decodes a ListCustomersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCustomersResponse
+ * @throws {Error} If the payload 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.channel.v1.ListCustomersResponse;
+
+ /**
+ * Verifies a ListCustomersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCustomersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCustomersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListCustomersResponse;
+
+ /**
+ * Creates a plain object from a ListCustomersResponse message. Also converts values to other types if specified.
+ * @param message ListCustomersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListCustomersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCustomersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCustomersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCustomerRequest. */
+ interface IGetCustomerRequest {
+
+ /** GetCustomerRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCustomerRequest. */
+ class GetCustomerRequest implements IGetCustomerRequest {
+
+ /**
+ * Constructs a new GetCustomerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IGetCustomerRequest);
+
+ /** GetCustomerRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCustomerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCustomerRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IGetCustomerRequest): google.cloud.channel.v1.GetCustomerRequest;
+
+ /**
+ * Encodes the specified GetCustomerRequest message. Does not implicitly {@link google.cloud.channel.v1.GetCustomerRequest.verify|verify} messages.
+ * @param message GetCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IGetCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCustomerRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.GetCustomerRequest.verify|verify} messages.
+ * @param message GetCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IGetCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCustomerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCustomerRequest
+ * @throws {Error} If the payload is not 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.channel.v1.GetCustomerRequest;
+
+ /**
+ * Decodes a GetCustomerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCustomerRequest
+ * @throws {Error} If the payload 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.channel.v1.GetCustomerRequest;
+
+ /**
+ * Verifies a GetCustomerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCustomerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCustomerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.GetCustomerRequest;
+
+ /**
+ * Creates a plain object from a GetCustomerRequest message. Also converts values to other types if specified.
+ * @param message GetCustomerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.GetCustomerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCustomerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCustomerRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCustomerRequest. */
+ interface ICreateCustomerRequest {
+
+ /** CreateCustomerRequest parent */
+ parent?: (string|null);
+
+ /** CreateCustomerRequest customer */
+ customer?: (google.cloud.channel.v1.ICustomer|null);
+ }
+
+ /** Represents a CreateCustomerRequest. */
+ class CreateCustomerRequest implements ICreateCustomerRequest {
+
+ /**
+ * Constructs a new CreateCustomerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICreateCustomerRequest);
+
+ /** CreateCustomerRequest parent. */
+ public parent: string;
+
+ /** CreateCustomerRequest customer. */
+ public customer?: (google.cloud.channel.v1.ICustomer|null);
+
+ /**
+ * Creates a new CreateCustomerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCustomerRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICreateCustomerRequest): google.cloud.channel.v1.CreateCustomerRequest;
+
+ /**
+ * Encodes the specified CreateCustomerRequest message. Does not implicitly {@link google.cloud.channel.v1.CreateCustomerRequest.verify|verify} messages.
+ * @param message CreateCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICreateCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCustomerRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CreateCustomerRequest.verify|verify} messages.
+ * @param message CreateCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICreateCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCustomerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCustomerRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CreateCustomerRequest;
+
+ /**
+ * Decodes a CreateCustomerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCustomerRequest
+ * @throws {Error} If the payload 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.channel.v1.CreateCustomerRequest;
+
+ /**
+ * Verifies a CreateCustomerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCustomerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCustomerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CreateCustomerRequest;
+
+ /**
+ * Creates a plain object from a CreateCustomerRequest message. Also converts values to other types if specified.
+ * @param message CreateCustomerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CreateCustomerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCustomerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCustomerRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCustomerRequest. */
+ interface IUpdateCustomerRequest {
+
+ /** UpdateCustomerRequest customer */
+ customer?: (google.cloud.channel.v1.ICustomer|null);
+
+ /** UpdateCustomerRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateCustomerRequest. */
+ class UpdateCustomerRequest implements IUpdateCustomerRequest {
+
+ /**
+ * Constructs a new UpdateCustomerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUpdateCustomerRequest);
+
+ /** UpdateCustomerRequest customer. */
+ public customer?: (google.cloud.channel.v1.ICustomer|null);
+
+ /** UpdateCustomerRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateCustomerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCustomerRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUpdateCustomerRequest): google.cloud.channel.v1.UpdateCustomerRequest;
+
+ /**
+ * Encodes the specified UpdateCustomerRequest message. Does not implicitly {@link google.cloud.channel.v1.UpdateCustomerRequest.verify|verify} messages.
+ * @param message UpdateCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUpdateCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCustomerRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UpdateCustomerRequest.verify|verify} messages.
+ * @param message UpdateCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUpdateCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCustomerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCustomerRequest
+ * @throws {Error} If the payload is not 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.channel.v1.UpdateCustomerRequest;
+
+ /**
+ * Decodes an UpdateCustomerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCustomerRequest
+ * @throws {Error} If the payload 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.channel.v1.UpdateCustomerRequest;
+
+ /**
+ * Verifies an UpdateCustomerRequest message.
+ * @param message Plain 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 UpdateCustomerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCustomerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UpdateCustomerRequest;
+
+ /**
+ * Creates a plain object from an UpdateCustomerRequest message. Also converts values to other types if specified.
+ * @param message UpdateCustomerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UpdateCustomerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCustomerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCustomerRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCustomerRequest. */
+ interface IDeleteCustomerRequest {
+
+ /** DeleteCustomerRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteCustomerRequest. */
+ class DeleteCustomerRequest implements IDeleteCustomerRequest {
+
+ /**
+ * Constructs a new DeleteCustomerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IDeleteCustomerRequest);
+
+ /** DeleteCustomerRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteCustomerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCustomerRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IDeleteCustomerRequest): google.cloud.channel.v1.DeleteCustomerRequest;
+
+ /**
+ * Encodes the specified DeleteCustomerRequest message. Does not implicitly {@link google.cloud.channel.v1.DeleteCustomerRequest.verify|verify} messages.
+ * @param message DeleteCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IDeleteCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCustomerRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.DeleteCustomerRequest.verify|verify} messages.
+ * @param message DeleteCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IDeleteCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCustomerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCustomerRequest
+ * @throws {Error} If the payload is not 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.channel.v1.DeleteCustomerRequest;
+
+ /**
+ * Decodes a DeleteCustomerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCustomerRequest
+ * @throws {Error} If the payload 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.channel.v1.DeleteCustomerRequest;
+
+ /**
+ * Verifies a DeleteCustomerRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteCustomerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCustomerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.DeleteCustomerRequest;
+
+ /**
+ * Creates a plain object from a DeleteCustomerRequest message. Also converts values to other types if specified.
+ * @param message DeleteCustomerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.DeleteCustomerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCustomerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCustomerRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ImportCustomerRequest. */
+ interface IImportCustomerRequest {
+
+ /** ImportCustomerRequest domain */
+ domain?: (string|null);
+
+ /** ImportCustomerRequest cloudIdentityId */
+ cloudIdentityId?: (string|null);
+
+ /** ImportCustomerRequest parent */
+ parent?: (string|null);
+
+ /** ImportCustomerRequest authToken */
+ authToken?: (string|null);
+
+ /** ImportCustomerRequest overwriteIfExists */
+ overwriteIfExists?: (boolean|null);
+
+ /** ImportCustomerRequest channelPartnerId */
+ channelPartnerId?: (string|null);
+
+ /** ImportCustomerRequest customer */
+ customer?: (string|null);
+ }
+
+ /** Represents an ImportCustomerRequest. */
+ class ImportCustomerRequest implements IImportCustomerRequest {
+
+ /**
+ * Constructs a new ImportCustomerRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IImportCustomerRequest);
+
+ /** ImportCustomerRequest domain. */
+ public domain?: (string|null);
+
+ /** ImportCustomerRequest cloudIdentityId. */
+ public cloudIdentityId?: (string|null);
+
+ /** ImportCustomerRequest parent. */
+ public parent: string;
+
+ /** ImportCustomerRequest authToken. */
+ public authToken: string;
+
+ /** ImportCustomerRequest overwriteIfExists. */
+ public overwriteIfExists: boolean;
+
+ /** ImportCustomerRequest channelPartnerId. */
+ public channelPartnerId: string;
+
+ /** ImportCustomerRequest customer. */
+ public customer: string;
+
+ /** ImportCustomerRequest customerIdentity. */
+ public customerIdentity?: ("domain"|"cloudIdentityId");
+
+ /**
+ * Creates a new ImportCustomerRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ImportCustomerRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IImportCustomerRequest): google.cloud.channel.v1.ImportCustomerRequest;
+
+ /**
+ * Encodes the specified ImportCustomerRequest message. Does not implicitly {@link google.cloud.channel.v1.ImportCustomerRequest.verify|verify} messages.
+ * @param message ImportCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IImportCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ImportCustomerRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ImportCustomerRequest.verify|verify} messages.
+ * @param message ImportCustomerRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IImportCustomerRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ImportCustomerRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ImportCustomerRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ImportCustomerRequest;
+
+ /**
+ * Decodes an ImportCustomerRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ImportCustomerRequest
+ * @throws {Error} If the payload 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.channel.v1.ImportCustomerRequest;
+
+ /**
+ * Verifies an ImportCustomerRequest message.
+ * @param message Plain 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 ImportCustomerRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ImportCustomerRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ImportCustomerRequest;
+
+ /**
+ * Creates a plain object from an ImportCustomerRequest message. Also converts values to other types if specified.
+ * @param message ImportCustomerRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ImportCustomerRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ImportCustomerRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ImportCustomerRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ProvisionCloudIdentityRequest. */
+ interface IProvisionCloudIdentityRequest {
+
+ /** ProvisionCloudIdentityRequest customer */
+ customer?: (string|null);
+
+ /** ProvisionCloudIdentityRequest cloudIdentityInfo */
+ cloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+
+ /** ProvisionCloudIdentityRequest user */
+ user?: (google.cloud.channel.v1.IAdminUser|null);
+
+ /** ProvisionCloudIdentityRequest validateOnly */
+ validateOnly?: (boolean|null);
+ }
+
+ /** Represents a ProvisionCloudIdentityRequest. */
+ class ProvisionCloudIdentityRequest implements IProvisionCloudIdentityRequest {
+
+ /**
+ * Constructs a new ProvisionCloudIdentityRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IProvisionCloudIdentityRequest);
+
+ /** ProvisionCloudIdentityRequest customer. */
+ public customer: string;
+
+ /** ProvisionCloudIdentityRequest cloudIdentityInfo. */
+ public cloudIdentityInfo?: (google.cloud.channel.v1.ICloudIdentityInfo|null);
+
+ /** ProvisionCloudIdentityRequest user. */
+ public user?: (google.cloud.channel.v1.IAdminUser|null);
+
+ /** ProvisionCloudIdentityRequest validateOnly. */
+ public validateOnly: boolean;
+
+ /**
+ * Creates a new ProvisionCloudIdentityRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ProvisionCloudIdentityRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IProvisionCloudIdentityRequest): google.cloud.channel.v1.ProvisionCloudIdentityRequest;
+
+ /**
+ * Encodes the specified ProvisionCloudIdentityRequest message. Does not implicitly {@link google.cloud.channel.v1.ProvisionCloudIdentityRequest.verify|verify} messages.
+ * @param message ProvisionCloudIdentityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IProvisionCloudIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ProvisionCloudIdentityRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ProvisionCloudIdentityRequest.verify|verify} messages.
+ * @param message ProvisionCloudIdentityRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IProvisionCloudIdentityRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ProvisionCloudIdentityRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ProvisionCloudIdentityRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ProvisionCloudIdentityRequest;
+
+ /**
+ * Decodes a ProvisionCloudIdentityRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ProvisionCloudIdentityRequest
+ * @throws {Error} If the payload 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.channel.v1.ProvisionCloudIdentityRequest;
+
+ /**
+ * Verifies a ProvisionCloudIdentityRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ProvisionCloudIdentityRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ProvisionCloudIdentityRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ProvisionCloudIdentityRequest;
+
+ /**
+ * Creates a plain object from a ProvisionCloudIdentityRequest message. Also converts values to other types if specified.
+ * @param message ProvisionCloudIdentityRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ProvisionCloudIdentityRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ProvisionCloudIdentityRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ProvisionCloudIdentityRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEntitlementsRequest. */
+ interface IListEntitlementsRequest {
+
+ /** ListEntitlementsRequest parent */
+ parent?: (string|null);
+
+ /** ListEntitlementsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListEntitlementsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListEntitlementsRequest. */
+ class ListEntitlementsRequest implements IListEntitlementsRequest {
+
+ /**
+ * Constructs a new ListEntitlementsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListEntitlementsRequest);
+
+ /** ListEntitlementsRequest parent. */
+ public parent: string;
+
+ /** ListEntitlementsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListEntitlementsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListEntitlementsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEntitlementsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListEntitlementsRequest): google.cloud.channel.v1.ListEntitlementsRequest;
+
+ /**
+ * Encodes the specified ListEntitlementsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListEntitlementsRequest.verify|verify} messages.
+ * @param message ListEntitlementsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListEntitlementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEntitlementsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListEntitlementsRequest.verify|verify} messages.
+ * @param message ListEntitlementsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListEntitlementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEntitlementsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEntitlementsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListEntitlementsRequest;
+
+ /**
+ * Decodes a ListEntitlementsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEntitlementsRequest
+ * @throws {Error} If the payload 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.channel.v1.ListEntitlementsRequest;
+
+ /**
+ * Verifies a ListEntitlementsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEntitlementsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEntitlementsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListEntitlementsRequest;
+
+ /**
+ * Creates a plain object from a ListEntitlementsRequest message. Also converts values to other types if specified.
+ * @param message ListEntitlementsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListEntitlementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEntitlementsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEntitlementsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListEntitlementsResponse. */
+ interface IListEntitlementsResponse {
+
+ /** ListEntitlementsResponse entitlements */
+ entitlements?: (google.cloud.channel.v1.IEntitlement[]|null);
+
+ /** ListEntitlementsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListEntitlementsResponse. */
+ class ListEntitlementsResponse implements IListEntitlementsResponse {
+
+ /**
+ * Constructs a new ListEntitlementsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListEntitlementsResponse);
+
+ /** ListEntitlementsResponse entitlements. */
+ public entitlements: google.cloud.channel.v1.IEntitlement[];
+
+ /** ListEntitlementsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListEntitlementsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListEntitlementsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListEntitlementsResponse): google.cloud.channel.v1.ListEntitlementsResponse;
+
+ /**
+ * Encodes the specified ListEntitlementsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListEntitlementsResponse.verify|verify} messages.
+ * @param message ListEntitlementsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListEntitlementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListEntitlementsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListEntitlementsResponse.verify|verify} messages.
+ * @param message ListEntitlementsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListEntitlementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListEntitlementsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListEntitlementsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListEntitlementsResponse;
+
+ /**
+ * Decodes a ListEntitlementsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListEntitlementsResponse
+ * @throws {Error} If the payload 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.channel.v1.ListEntitlementsResponse;
+
+ /**
+ * Verifies a ListEntitlementsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListEntitlementsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListEntitlementsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListEntitlementsResponse;
+
+ /**
+ * Creates a plain object from a ListEntitlementsResponse message. Also converts values to other types if specified.
+ * @param message ListEntitlementsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListEntitlementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListEntitlementsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListEntitlementsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTransferableSkusRequest. */
+ interface IListTransferableSkusRequest {
+
+ /** ListTransferableSkusRequest cloudIdentityId */
+ cloudIdentityId?: (string|null);
+
+ /** ListTransferableSkusRequest customerName */
+ customerName?: (string|null);
+
+ /** ListTransferableSkusRequest parent */
+ parent?: (string|null);
+
+ /** ListTransferableSkusRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTransferableSkusRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListTransferableSkusRequest authToken */
+ authToken?: (string|null);
+
+ /** ListTransferableSkusRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListTransferableSkusRequest. */
+ class ListTransferableSkusRequest implements IListTransferableSkusRequest {
+
+ /**
+ * Constructs a new ListTransferableSkusRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListTransferableSkusRequest);
+
+ /** ListTransferableSkusRequest cloudIdentityId. */
+ public cloudIdentityId?: (string|null);
+
+ /** ListTransferableSkusRequest customerName. */
+ public customerName?: (string|null);
+
+ /** ListTransferableSkusRequest parent. */
+ public parent: string;
+
+ /** ListTransferableSkusRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTransferableSkusRequest pageToken. */
+ public pageToken: string;
+
+ /** ListTransferableSkusRequest authToken. */
+ public authToken: string;
+
+ /** ListTransferableSkusRequest languageCode. */
+ public languageCode: string;
+
+ /** ListTransferableSkusRequest transferredCustomerIdentity. */
+ public transferredCustomerIdentity?: ("cloudIdentityId"|"customerName");
+
+ /**
+ * Creates a new ListTransferableSkusRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTransferableSkusRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListTransferableSkusRequest): google.cloud.channel.v1.ListTransferableSkusRequest;
+
+ /**
+ * Encodes the specified ListTransferableSkusRequest message. Does not implicitly {@link google.cloud.channel.v1.ListTransferableSkusRequest.verify|verify} messages.
+ * @param message ListTransferableSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListTransferableSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTransferableSkusRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListTransferableSkusRequest.verify|verify} messages.
+ * @param message ListTransferableSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListTransferableSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTransferableSkusRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTransferableSkusRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListTransferableSkusRequest;
+
+ /**
+ * Decodes a ListTransferableSkusRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTransferableSkusRequest
+ * @throws {Error} If the payload 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.channel.v1.ListTransferableSkusRequest;
+
+ /**
+ * Verifies a ListTransferableSkusRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTransferableSkusRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTransferableSkusRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListTransferableSkusRequest;
+
+ /**
+ * Creates a plain object from a ListTransferableSkusRequest message. Also converts values to other types if specified.
+ * @param message ListTransferableSkusRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListTransferableSkusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTransferableSkusRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTransferableSkusRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTransferableSkusResponse. */
+ interface IListTransferableSkusResponse {
+
+ /** ListTransferableSkusResponse transferableSkus */
+ transferableSkus?: (google.cloud.channel.v1.ITransferableSku[]|null);
+
+ /** ListTransferableSkusResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListTransferableSkusResponse. */
+ class ListTransferableSkusResponse implements IListTransferableSkusResponse {
+
+ /**
+ * Constructs a new ListTransferableSkusResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListTransferableSkusResponse);
+
+ /** ListTransferableSkusResponse transferableSkus. */
+ public transferableSkus: google.cloud.channel.v1.ITransferableSku[];
+
+ /** ListTransferableSkusResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListTransferableSkusResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTransferableSkusResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListTransferableSkusResponse): google.cloud.channel.v1.ListTransferableSkusResponse;
+
+ /**
+ * Encodes the specified ListTransferableSkusResponse message. Does not implicitly {@link google.cloud.channel.v1.ListTransferableSkusResponse.verify|verify} messages.
+ * @param message ListTransferableSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListTransferableSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTransferableSkusResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListTransferableSkusResponse.verify|verify} messages.
+ * @param message ListTransferableSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListTransferableSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTransferableSkusResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTransferableSkusResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListTransferableSkusResponse;
+
+ /**
+ * Decodes a ListTransferableSkusResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTransferableSkusResponse
+ * @throws {Error} If the payload 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.channel.v1.ListTransferableSkusResponse;
+
+ /**
+ * Verifies a ListTransferableSkusResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTransferableSkusResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTransferableSkusResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListTransferableSkusResponse;
+
+ /**
+ * Creates a plain object from a ListTransferableSkusResponse message. Also converts values to other types if specified.
+ * @param message ListTransferableSkusResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListTransferableSkusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTransferableSkusResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTransferableSkusResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTransferableOffersRequest. */
+ interface IListTransferableOffersRequest {
+
+ /** ListTransferableOffersRequest cloudIdentityId */
+ cloudIdentityId?: (string|null);
+
+ /** ListTransferableOffersRequest customerName */
+ customerName?: (string|null);
+
+ /** ListTransferableOffersRequest parent */
+ parent?: (string|null);
+
+ /** ListTransferableOffersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListTransferableOffersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListTransferableOffersRequest sku */
+ sku?: (string|null);
+
+ /** ListTransferableOffersRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListTransferableOffersRequest. */
+ class ListTransferableOffersRequest implements IListTransferableOffersRequest {
+
+ /**
+ * Constructs a new ListTransferableOffersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListTransferableOffersRequest);
+
+ /** ListTransferableOffersRequest cloudIdentityId. */
+ public cloudIdentityId?: (string|null);
+
+ /** ListTransferableOffersRequest customerName. */
+ public customerName?: (string|null);
+
+ /** ListTransferableOffersRequest parent. */
+ public parent: string;
+
+ /** ListTransferableOffersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListTransferableOffersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListTransferableOffersRequest sku. */
+ public sku: string;
+
+ /** ListTransferableOffersRequest languageCode. */
+ public languageCode: string;
+
+ /** ListTransferableOffersRequest transferredCustomerIdentity. */
+ public transferredCustomerIdentity?: ("cloudIdentityId"|"customerName");
+
+ /**
+ * Creates a new ListTransferableOffersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTransferableOffersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListTransferableOffersRequest): google.cloud.channel.v1.ListTransferableOffersRequest;
+
+ /**
+ * Encodes the specified ListTransferableOffersRequest message. Does not implicitly {@link google.cloud.channel.v1.ListTransferableOffersRequest.verify|verify} messages.
+ * @param message ListTransferableOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListTransferableOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTransferableOffersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListTransferableOffersRequest.verify|verify} messages.
+ * @param message ListTransferableOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListTransferableOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTransferableOffersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTransferableOffersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListTransferableOffersRequest;
+
+ /**
+ * Decodes a ListTransferableOffersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTransferableOffersRequest
+ * @throws {Error} If the payload 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.channel.v1.ListTransferableOffersRequest;
+
+ /**
+ * Verifies a ListTransferableOffersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTransferableOffersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTransferableOffersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListTransferableOffersRequest;
+
+ /**
+ * Creates a plain object from a ListTransferableOffersRequest message. Also converts values to other types if specified.
+ * @param message ListTransferableOffersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListTransferableOffersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTransferableOffersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTransferableOffersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListTransferableOffersResponse. */
+ interface IListTransferableOffersResponse {
+
+ /** ListTransferableOffersResponse transferableOffers */
+ transferableOffers?: (google.cloud.channel.v1.ITransferableOffer[]|null);
+
+ /** ListTransferableOffersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListTransferableOffersResponse. */
+ class ListTransferableOffersResponse implements IListTransferableOffersResponse {
+
+ /**
+ * Constructs a new ListTransferableOffersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListTransferableOffersResponse);
+
+ /** ListTransferableOffersResponse transferableOffers. */
+ public transferableOffers: google.cloud.channel.v1.ITransferableOffer[];
+
+ /** ListTransferableOffersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListTransferableOffersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListTransferableOffersResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListTransferableOffersResponse): google.cloud.channel.v1.ListTransferableOffersResponse;
+
+ /**
+ * Encodes the specified ListTransferableOffersResponse message. Does not implicitly {@link google.cloud.channel.v1.ListTransferableOffersResponse.verify|verify} messages.
+ * @param message ListTransferableOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListTransferableOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListTransferableOffersResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListTransferableOffersResponse.verify|verify} messages.
+ * @param message ListTransferableOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListTransferableOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListTransferableOffersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListTransferableOffersResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListTransferableOffersResponse;
+
+ /**
+ * Decodes a ListTransferableOffersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListTransferableOffersResponse
+ * @throws {Error} If the payload 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.channel.v1.ListTransferableOffersResponse;
+
+ /**
+ * Verifies a ListTransferableOffersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListTransferableOffersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListTransferableOffersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListTransferableOffersResponse;
+
+ /**
+ * Creates a plain object from a ListTransferableOffersResponse message. Also converts values to other types if specified.
+ * @param message ListTransferableOffersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListTransferableOffersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListTransferableOffersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListTransferableOffersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferableOffer. */
+ interface ITransferableOffer {
+
+ /** TransferableOffer offer */
+ offer?: (google.cloud.channel.v1.IOffer|null);
+ }
+
+ /** Represents a TransferableOffer. */
+ class TransferableOffer implements ITransferableOffer {
+
+ /**
+ * Constructs a new TransferableOffer.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferableOffer);
+
+ /** TransferableOffer offer. */
+ public offer?: (google.cloud.channel.v1.IOffer|null);
+
+ /**
+ * Creates a new TransferableOffer instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferableOffer instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferableOffer): google.cloud.channel.v1.TransferableOffer;
+
+ /**
+ * Encodes the specified TransferableOffer message. Does not implicitly {@link google.cloud.channel.v1.TransferableOffer.verify|verify} messages.
+ * @param message TransferableOffer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferableOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferableOffer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferableOffer.verify|verify} messages.
+ * @param message TransferableOffer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferableOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferableOffer message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferableOffer
+ * @throws {Error} If the payload is not 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.channel.v1.TransferableOffer;
+
+ /**
+ * Decodes a TransferableOffer message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferableOffer
+ * @throws {Error} If the payload 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.channel.v1.TransferableOffer;
+
+ /**
+ * Verifies a TransferableOffer message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferableOffer message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferableOffer
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferableOffer;
+
+ /**
+ * Creates a plain object from a TransferableOffer message. Also converts values to other types if specified.
+ * @param message TransferableOffer
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferableOffer, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferableOffer to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferableOffer
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetEntitlementRequest. */
+ interface IGetEntitlementRequest {
+
+ /** GetEntitlementRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetEntitlementRequest. */
+ class GetEntitlementRequest implements IGetEntitlementRequest {
+
+ /**
+ * Constructs a new GetEntitlementRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IGetEntitlementRequest);
+
+ /** GetEntitlementRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetEntitlementRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetEntitlementRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IGetEntitlementRequest): google.cloud.channel.v1.GetEntitlementRequest;
+
+ /**
+ * Encodes the specified GetEntitlementRequest message. Does not implicitly {@link google.cloud.channel.v1.GetEntitlementRequest.verify|verify} messages.
+ * @param message GetEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IGetEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetEntitlementRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.GetEntitlementRequest.verify|verify} messages.
+ * @param message GetEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IGetEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetEntitlementRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetEntitlementRequest
+ * @throws {Error} If the payload is not 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.channel.v1.GetEntitlementRequest;
+
+ /**
+ * Decodes a GetEntitlementRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetEntitlementRequest
+ * @throws {Error} If the payload 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.channel.v1.GetEntitlementRequest;
+
+ /**
+ * Verifies a GetEntitlementRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetEntitlementRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetEntitlementRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.GetEntitlementRequest;
+
+ /**
+ * Creates a plain object from a GetEntitlementRequest message. Also converts values to other types if specified.
+ * @param message GetEntitlementRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.GetEntitlementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetEntitlementRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetEntitlementRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelPartnerLinksRequest. */
+ interface IListChannelPartnerLinksRequest {
+
+ /** ListChannelPartnerLinksRequest parent */
+ parent?: (string|null);
+
+ /** ListChannelPartnerLinksRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListChannelPartnerLinksRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListChannelPartnerLinksRequest view */
+ view?: (google.cloud.channel.v1.ChannelPartnerLinkView|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkView|null);
+ }
+
+ /** Represents a ListChannelPartnerLinksRequest. */
+ class ListChannelPartnerLinksRequest implements IListChannelPartnerLinksRequest {
+
+ /**
+ * Constructs a new ListChannelPartnerLinksRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListChannelPartnerLinksRequest);
+
+ /** ListChannelPartnerLinksRequest parent. */
+ public parent: string;
+
+ /** ListChannelPartnerLinksRequest pageSize. */
+ public pageSize: number;
+
+ /** ListChannelPartnerLinksRequest pageToken. */
+ public pageToken: string;
+
+ /** ListChannelPartnerLinksRequest view. */
+ public view: (google.cloud.channel.v1.ChannelPartnerLinkView|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkView);
+
+ /**
+ * Creates a new ListChannelPartnerLinksRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelPartnerLinksRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListChannelPartnerLinksRequest): google.cloud.channel.v1.ListChannelPartnerLinksRequest;
+
+ /**
+ * Encodes the specified ListChannelPartnerLinksRequest message. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerLinksRequest.verify|verify} messages.
+ * @param message ListChannelPartnerLinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListChannelPartnerLinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelPartnerLinksRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerLinksRequest.verify|verify} messages.
+ * @param message ListChannelPartnerLinksRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListChannelPartnerLinksRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelPartnerLinksRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelPartnerLinksRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListChannelPartnerLinksRequest;
+
+ /**
+ * Decodes a ListChannelPartnerLinksRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelPartnerLinksRequest
+ * @throws {Error} If the payload 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.channel.v1.ListChannelPartnerLinksRequest;
+
+ /**
+ * Verifies a ListChannelPartnerLinksRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelPartnerLinksRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelPartnerLinksRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListChannelPartnerLinksRequest;
+
+ /**
+ * Creates a plain object from a ListChannelPartnerLinksRequest message. Also converts values to other types if specified.
+ * @param message ListChannelPartnerLinksRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListChannelPartnerLinksRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelPartnerLinksRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelPartnerLinksRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelPartnerLinksResponse. */
+ interface IListChannelPartnerLinksResponse {
+
+ /** ListChannelPartnerLinksResponse channelPartnerLinks */
+ channelPartnerLinks?: (google.cloud.channel.v1.IChannelPartnerLink[]|null);
+
+ /** ListChannelPartnerLinksResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListChannelPartnerLinksResponse. */
+ class ListChannelPartnerLinksResponse implements IListChannelPartnerLinksResponse {
+
+ /**
+ * Constructs a new ListChannelPartnerLinksResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListChannelPartnerLinksResponse);
+
+ /** ListChannelPartnerLinksResponse channelPartnerLinks. */
+ public channelPartnerLinks: google.cloud.channel.v1.IChannelPartnerLink[];
+
+ /** ListChannelPartnerLinksResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListChannelPartnerLinksResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelPartnerLinksResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListChannelPartnerLinksResponse): google.cloud.channel.v1.ListChannelPartnerLinksResponse;
+
+ /**
+ * Encodes the specified ListChannelPartnerLinksResponse message. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerLinksResponse.verify|verify} messages.
+ * @param message ListChannelPartnerLinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListChannelPartnerLinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelPartnerLinksResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerLinksResponse.verify|verify} messages.
+ * @param message ListChannelPartnerLinksResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListChannelPartnerLinksResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelPartnerLinksResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelPartnerLinksResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListChannelPartnerLinksResponse;
+
+ /**
+ * Decodes a ListChannelPartnerLinksResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelPartnerLinksResponse
+ * @throws {Error} If the payload 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.channel.v1.ListChannelPartnerLinksResponse;
+
+ /**
+ * Verifies a ListChannelPartnerLinksResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelPartnerLinksResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelPartnerLinksResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListChannelPartnerLinksResponse;
+
+ /**
+ * Creates a plain object from a ListChannelPartnerLinksResponse message. Also converts values to other types if specified.
+ * @param message ListChannelPartnerLinksResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListChannelPartnerLinksResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelPartnerLinksResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelPartnerLinksResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetChannelPartnerLinkRequest. */
+ interface IGetChannelPartnerLinkRequest {
+
+ /** GetChannelPartnerLinkRequest name */
+ name?: (string|null);
+
+ /** GetChannelPartnerLinkRequest view */
+ view?: (google.cloud.channel.v1.ChannelPartnerLinkView|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkView|null);
+ }
+
+ /** Represents a GetChannelPartnerLinkRequest. */
+ class GetChannelPartnerLinkRequest implements IGetChannelPartnerLinkRequest {
+
+ /**
+ * Constructs a new GetChannelPartnerLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IGetChannelPartnerLinkRequest);
+
+ /** GetChannelPartnerLinkRequest name. */
+ public name: string;
+
+ /** GetChannelPartnerLinkRequest view. */
+ public view: (google.cloud.channel.v1.ChannelPartnerLinkView|keyof typeof google.cloud.channel.v1.ChannelPartnerLinkView);
+
+ /**
+ * Creates a new GetChannelPartnerLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetChannelPartnerLinkRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IGetChannelPartnerLinkRequest): google.cloud.channel.v1.GetChannelPartnerLinkRequest;
+
+ /**
+ * Encodes the specified GetChannelPartnerLinkRequest message. Does not implicitly {@link google.cloud.channel.v1.GetChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message GetChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IGetChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetChannelPartnerLinkRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.GetChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message GetChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IGetChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetChannelPartnerLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetChannelPartnerLinkRequest
+ * @throws {Error} If the payload is not 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.channel.v1.GetChannelPartnerLinkRequest;
+
+ /**
+ * Decodes a GetChannelPartnerLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetChannelPartnerLinkRequest
+ * @throws {Error} If the payload 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.channel.v1.GetChannelPartnerLinkRequest;
+
+ /**
+ * Verifies a GetChannelPartnerLinkRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetChannelPartnerLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetChannelPartnerLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.GetChannelPartnerLinkRequest;
+
+ /**
+ * Creates a plain object from a GetChannelPartnerLinkRequest message. Also converts values to other types if specified.
+ * @param message GetChannelPartnerLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.GetChannelPartnerLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetChannelPartnerLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetChannelPartnerLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateChannelPartnerLinkRequest. */
+ interface ICreateChannelPartnerLinkRequest {
+
+ /** CreateChannelPartnerLinkRequest parent */
+ parent?: (string|null);
+
+ /** CreateChannelPartnerLinkRequest channelPartnerLink */
+ channelPartnerLink?: (google.cloud.channel.v1.IChannelPartnerLink|null);
+ }
+
+ /** Represents a CreateChannelPartnerLinkRequest. */
+ class CreateChannelPartnerLinkRequest implements ICreateChannelPartnerLinkRequest {
+
+ /**
+ * Constructs a new CreateChannelPartnerLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest);
+
+ /** CreateChannelPartnerLinkRequest parent. */
+ public parent: string;
+
+ /** CreateChannelPartnerLinkRequest channelPartnerLink. */
+ public channelPartnerLink?: (google.cloud.channel.v1.IChannelPartnerLink|null);
+
+ /**
+ * Creates a new CreateChannelPartnerLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateChannelPartnerLinkRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest): google.cloud.channel.v1.CreateChannelPartnerLinkRequest;
+
+ /**
+ * Encodes the specified CreateChannelPartnerLinkRequest message. Does not implicitly {@link google.cloud.channel.v1.CreateChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message CreateChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateChannelPartnerLinkRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CreateChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message CreateChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICreateChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateChannelPartnerLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateChannelPartnerLinkRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CreateChannelPartnerLinkRequest;
+
+ /**
+ * Decodes a CreateChannelPartnerLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateChannelPartnerLinkRequest
+ * @throws {Error} If the payload 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.channel.v1.CreateChannelPartnerLinkRequest;
+
+ /**
+ * Verifies a CreateChannelPartnerLinkRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateChannelPartnerLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateChannelPartnerLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CreateChannelPartnerLinkRequest;
+
+ /**
+ * Creates a plain object from a CreateChannelPartnerLinkRequest message. Also converts values to other types if specified.
+ * @param message CreateChannelPartnerLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CreateChannelPartnerLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateChannelPartnerLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateChannelPartnerLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateChannelPartnerLinkRequest. */
+ interface IUpdateChannelPartnerLinkRequest {
+
+ /** UpdateChannelPartnerLinkRequest name */
+ name?: (string|null);
+
+ /** UpdateChannelPartnerLinkRequest channelPartnerLink */
+ channelPartnerLink?: (google.cloud.channel.v1.IChannelPartnerLink|null);
+
+ /** UpdateChannelPartnerLinkRequest updateMask */
+ updateMask?: (google.protobuf.IFieldMask|null);
+ }
+
+ /** Represents an UpdateChannelPartnerLinkRequest. */
+ class UpdateChannelPartnerLinkRequest implements IUpdateChannelPartnerLinkRequest {
+
+ /**
+ * Constructs a new UpdateChannelPartnerLinkRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest);
+
+ /** UpdateChannelPartnerLinkRequest name. */
+ public name: string;
+
+ /** UpdateChannelPartnerLinkRequest channelPartnerLink. */
+ public channelPartnerLink?: (google.cloud.channel.v1.IChannelPartnerLink|null);
+
+ /** UpdateChannelPartnerLinkRequest updateMask. */
+ public updateMask?: (google.protobuf.IFieldMask|null);
+
+ /**
+ * Creates a new UpdateChannelPartnerLinkRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateChannelPartnerLinkRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest): google.cloud.channel.v1.UpdateChannelPartnerLinkRequest;
+
+ /**
+ * Encodes the specified UpdateChannelPartnerLinkRequest message. Does not implicitly {@link google.cloud.channel.v1.UpdateChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message UpdateChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateChannelPartnerLinkRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UpdateChannelPartnerLinkRequest.verify|verify} messages.
+ * @param message UpdateChannelPartnerLinkRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUpdateChannelPartnerLinkRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateChannelPartnerLinkRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateChannelPartnerLinkRequest
+ * @throws {Error} If the payload is not 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.channel.v1.UpdateChannelPartnerLinkRequest;
+
+ /**
+ * Decodes an UpdateChannelPartnerLinkRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateChannelPartnerLinkRequest
+ * @throws {Error} If the payload 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.channel.v1.UpdateChannelPartnerLinkRequest;
+
+ /**
+ * Verifies an UpdateChannelPartnerLinkRequest message.
+ * @param message Plain 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 UpdateChannelPartnerLinkRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateChannelPartnerLinkRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UpdateChannelPartnerLinkRequest;
+
+ /**
+ * Creates a plain object from an UpdateChannelPartnerLinkRequest message. Also converts values to other types if specified.
+ * @param message UpdateChannelPartnerLinkRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UpdateChannelPartnerLinkRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateChannelPartnerLinkRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateChannelPartnerLinkRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetCustomerRepricingConfigRequest. */
+ interface IGetCustomerRepricingConfigRequest {
+
+ /** GetCustomerRepricingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetCustomerRepricingConfigRequest. */
+ class GetCustomerRepricingConfigRequest implements IGetCustomerRepricingConfigRequest {
+
+ /**
+ * Constructs a new GetCustomerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest);
+
+ /** GetCustomerRepricingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetCustomerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetCustomerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest): google.cloud.channel.v1.GetCustomerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified GetCustomerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.GetCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message GetCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetCustomerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.GetCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message GetCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IGetCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetCustomerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetCustomerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.GetCustomerRepricingConfigRequest;
+
+ /**
+ * Decodes a GetCustomerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetCustomerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.GetCustomerRepricingConfigRequest;
+
+ /**
+ * Verifies a GetCustomerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetCustomerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetCustomerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.GetCustomerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a GetCustomerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message GetCustomerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.GetCustomerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetCustomerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetCustomerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCustomerRepricingConfigsRequest. */
+ interface IListCustomerRepricingConfigsRequest {
+
+ /** ListCustomerRepricingConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListCustomerRepricingConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListCustomerRepricingConfigsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListCustomerRepricingConfigsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListCustomerRepricingConfigsRequest. */
+ class ListCustomerRepricingConfigsRequest implements IListCustomerRepricingConfigsRequest {
+
+ /**
+ * Constructs a new ListCustomerRepricingConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest);
+
+ /** ListCustomerRepricingConfigsRequest parent. */
+ public parent: string;
+
+ /** ListCustomerRepricingConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListCustomerRepricingConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListCustomerRepricingConfigsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListCustomerRepricingConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCustomerRepricingConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest): google.cloud.channel.v1.ListCustomerRepricingConfigsRequest;
+
+ /**
+ * Encodes the specified ListCustomerRepricingConfigsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListCustomerRepricingConfigsRequest.verify|verify} messages.
+ * @param message ListCustomerRepricingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCustomerRepricingConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListCustomerRepricingConfigsRequest.verify|verify} messages.
+ * @param message ListCustomerRepricingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListCustomerRepricingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCustomerRepricingConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCustomerRepricingConfigsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListCustomerRepricingConfigsRequest;
+
+ /**
+ * Decodes a ListCustomerRepricingConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCustomerRepricingConfigsRequest
+ * @throws {Error} If the payload 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.channel.v1.ListCustomerRepricingConfigsRequest;
+
+ /**
+ * Verifies a ListCustomerRepricingConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCustomerRepricingConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCustomerRepricingConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListCustomerRepricingConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListCustomerRepricingConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListCustomerRepricingConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListCustomerRepricingConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCustomerRepricingConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCustomerRepricingConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListCustomerRepricingConfigsResponse. */
+ interface IListCustomerRepricingConfigsResponse {
+
+ /** ListCustomerRepricingConfigsResponse customerRepricingConfigs */
+ customerRepricingConfigs?: (google.cloud.channel.v1.ICustomerRepricingConfig[]|null);
+
+ /** ListCustomerRepricingConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListCustomerRepricingConfigsResponse. */
+ class ListCustomerRepricingConfigsResponse implements IListCustomerRepricingConfigsResponse {
+
+ /**
+ * Constructs a new ListCustomerRepricingConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListCustomerRepricingConfigsResponse);
+
+ /** ListCustomerRepricingConfigsResponse customerRepricingConfigs. */
+ public customerRepricingConfigs: google.cloud.channel.v1.ICustomerRepricingConfig[];
+
+ /** ListCustomerRepricingConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListCustomerRepricingConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListCustomerRepricingConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListCustomerRepricingConfigsResponse): google.cloud.channel.v1.ListCustomerRepricingConfigsResponse;
+
+ /**
+ * Encodes the specified ListCustomerRepricingConfigsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListCustomerRepricingConfigsResponse.verify|verify} messages.
+ * @param message ListCustomerRepricingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListCustomerRepricingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListCustomerRepricingConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListCustomerRepricingConfigsResponse.verify|verify} messages.
+ * @param message ListCustomerRepricingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListCustomerRepricingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListCustomerRepricingConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListCustomerRepricingConfigsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListCustomerRepricingConfigsResponse;
+
+ /**
+ * Decodes a ListCustomerRepricingConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListCustomerRepricingConfigsResponse
+ * @throws {Error} If the payload 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.channel.v1.ListCustomerRepricingConfigsResponse;
+
+ /**
+ * Verifies a ListCustomerRepricingConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListCustomerRepricingConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListCustomerRepricingConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListCustomerRepricingConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListCustomerRepricingConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListCustomerRepricingConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListCustomerRepricingConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListCustomerRepricingConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListCustomerRepricingConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateCustomerRepricingConfigRequest. */
+ interface ICreateCustomerRepricingConfigRequest {
+
+ /** CreateCustomerRepricingConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateCustomerRepricingConfigRequest customerRepricingConfig */
+ customerRepricingConfig?: (google.cloud.channel.v1.ICustomerRepricingConfig|null);
+ }
+
+ /** Represents a CreateCustomerRepricingConfigRequest. */
+ class CreateCustomerRepricingConfigRequest implements ICreateCustomerRepricingConfigRequest {
+
+ /**
+ * Constructs a new CreateCustomerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest);
+
+ /** CreateCustomerRepricingConfigRequest parent. */
+ public parent: string;
+
+ /** CreateCustomerRepricingConfigRequest customerRepricingConfig. */
+ public customerRepricingConfig?: (google.cloud.channel.v1.ICustomerRepricingConfig|null);
+
+ /**
+ * Creates a new CreateCustomerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateCustomerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest): google.cloud.channel.v1.CreateCustomerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified CreateCustomerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.CreateCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message CreateCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateCustomerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CreateCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message CreateCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICreateCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateCustomerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateCustomerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CreateCustomerRepricingConfigRequest;
+
+ /**
+ * Decodes a CreateCustomerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateCustomerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.CreateCustomerRepricingConfigRequest;
+
+ /**
+ * Verifies a CreateCustomerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateCustomerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateCustomerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CreateCustomerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateCustomerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateCustomerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CreateCustomerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateCustomerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateCustomerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateCustomerRepricingConfigRequest. */
+ interface IUpdateCustomerRepricingConfigRequest {
+
+ /** UpdateCustomerRepricingConfigRequest customerRepricingConfig */
+ customerRepricingConfig?: (google.cloud.channel.v1.ICustomerRepricingConfig|null);
+ }
+
+ /** Represents an UpdateCustomerRepricingConfigRequest. */
+ class UpdateCustomerRepricingConfigRequest implements IUpdateCustomerRepricingConfigRequest {
+
+ /**
+ * Constructs a new UpdateCustomerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest);
+
+ /** UpdateCustomerRepricingConfigRequest customerRepricingConfig. */
+ public customerRepricingConfig?: (google.cloud.channel.v1.ICustomerRepricingConfig|null);
+
+ /**
+ * Creates a new UpdateCustomerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateCustomerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest): google.cloud.channel.v1.UpdateCustomerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified UpdateCustomerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.UpdateCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message UpdateCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateCustomerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UpdateCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message UpdateCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUpdateCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateCustomerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateCustomerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.UpdateCustomerRepricingConfigRequest;
+
+ /**
+ * Decodes an UpdateCustomerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateCustomerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.UpdateCustomerRepricingConfigRequest;
+
+ /**
+ * Verifies an UpdateCustomerRepricingConfigRequest message.
+ * @param message Plain 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 UpdateCustomerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateCustomerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UpdateCustomerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateCustomerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateCustomerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UpdateCustomerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateCustomerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateCustomerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteCustomerRepricingConfigRequest. */
+ interface IDeleteCustomerRepricingConfigRequest {
+
+ /** DeleteCustomerRepricingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteCustomerRepricingConfigRequest. */
+ class DeleteCustomerRepricingConfigRequest implements IDeleteCustomerRepricingConfigRequest {
+
+ /**
+ * Constructs a new DeleteCustomerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest);
+
+ /** DeleteCustomerRepricingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteCustomerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteCustomerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest): google.cloud.channel.v1.DeleteCustomerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified DeleteCustomerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.DeleteCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message DeleteCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteCustomerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.DeleteCustomerRepricingConfigRequest.verify|verify} messages.
+ * @param message DeleteCustomerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IDeleteCustomerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteCustomerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteCustomerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.DeleteCustomerRepricingConfigRequest;
+
+ /**
+ * Decodes a DeleteCustomerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteCustomerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.DeleteCustomerRepricingConfigRequest;
+
+ /**
+ * Verifies a DeleteCustomerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteCustomerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteCustomerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.DeleteCustomerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteCustomerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteCustomerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.DeleteCustomerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteCustomerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteCustomerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetChannelPartnerRepricingConfigRequest. */
+ interface IGetChannelPartnerRepricingConfigRequest {
+
+ /** GetChannelPartnerRepricingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetChannelPartnerRepricingConfigRequest. */
+ class GetChannelPartnerRepricingConfigRequest implements IGetChannelPartnerRepricingConfigRequest {
+
+ /**
+ * Constructs a new GetChannelPartnerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest);
+
+ /** GetChannelPartnerRepricingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetChannelPartnerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetChannelPartnerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest): google.cloud.channel.v1.GetChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified GetChannelPartnerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.GetChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message GetChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetChannelPartnerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.GetChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message GetChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IGetChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetChannelPartnerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.GetChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Decodes a GetChannelPartnerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.GetChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Verifies a GetChannelPartnerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetChannelPartnerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetChannelPartnerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.GetChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a GetChannelPartnerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message GetChannelPartnerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.GetChannelPartnerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetChannelPartnerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetChannelPartnerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelPartnerRepricingConfigsRequest. */
+ interface IListChannelPartnerRepricingConfigsRequest {
+
+ /** ListChannelPartnerRepricingConfigsRequest parent */
+ parent?: (string|null);
+
+ /** ListChannelPartnerRepricingConfigsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListChannelPartnerRepricingConfigsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListChannelPartnerRepricingConfigsRequest filter */
+ filter?: (string|null);
+ }
+
+ /** Represents a ListChannelPartnerRepricingConfigsRequest. */
+ class ListChannelPartnerRepricingConfigsRequest implements IListChannelPartnerRepricingConfigsRequest {
+
+ /**
+ * Constructs a new ListChannelPartnerRepricingConfigsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest);
+
+ /** ListChannelPartnerRepricingConfigsRequest parent. */
+ public parent: string;
+
+ /** ListChannelPartnerRepricingConfigsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListChannelPartnerRepricingConfigsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListChannelPartnerRepricingConfigsRequest filter. */
+ public filter: string;
+
+ /**
+ * Creates a new ListChannelPartnerRepricingConfigsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelPartnerRepricingConfigsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest): google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest;
+
+ /**
+ * Encodes the specified ListChannelPartnerRepricingConfigsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest.verify|verify} messages.
+ * @param message ListChannelPartnerRepricingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelPartnerRepricingConfigsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest.verify|verify} messages.
+ * @param message ListChannelPartnerRepricingConfigsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelPartnerRepricingConfigsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelPartnerRepricingConfigsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListChannelPartnerRepricingConfigsRequest;
+
+ /**
+ * Decodes a ListChannelPartnerRepricingConfigsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelPartnerRepricingConfigsRequest
+ * @throws {Error} If the payload 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.channel.v1.ListChannelPartnerRepricingConfigsRequest;
+
+ /**
+ * Verifies a ListChannelPartnerRepricingConfigsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelPartnerRepricingConfigsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelPartnerRepricingConfigsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest;
+
+ /**
+ * Creates a plain object from a ListChannelPartnerRepricingConfigsRequest message. Also converts values to other types if specified.
+ * @param message ListChannelPartnerRepricingConfigsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListChannelPartnerRepricingConfigsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelPartnerRepricingConfigsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelPartnerRepricingConfigsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListChannelPartnerRepricingConfigsResponse. */
+ interface IListChannelPartnerRepricingConfigsResponse {
+
+ /** ListChannelPartnerRepricingConfigsResponse channelPartnerRepricingConfigs */
+ channelPartnerRepricingConfigs?: (google.cloud.channel.v1.IChannelPartnerRepricingConfig[]|null);
+
+ /** ListChannelPartnerRepricingConfigsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListChannelPartnerRepricingConfigsResponse. */
+ class ListChannelPartnerRepricingConfigsResponse implements IListChannelPartnerRepricingConfigsResponse {
+
+ /**
+ * Constructs a new ListChannelPartnerRepricingConfigsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsResponse);
+
+ /** ListChannelPartnerRepricingConfigsResponse channelPartnerRepricingConfigs. */
+ public channelPartnerRepricingConfigs: google.cloud.channel.v1.IChannelPartnerRepricingConfig[];
+
+ /** ListChannelPartnerRepricingConfigsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListChannelPartnerRepricingConfigsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListChannelPartnerRepricingConfigsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsResponse): google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse;
+
+ /**
+ * Encodes the specified ListChannelPartnerRepricingConfigsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse.verify|verify} messages.
+ * @param message ListChannelPartnerRepricingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListChannelPartnerRepricingConfigsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse.verify|verify} messages.
+ * @param message ListChannelPartnerRepricingConfigsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListChannelPartnerRepricingConfigsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListChannelPartnerRepricingConfigsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListChannelPartnerRepricingConfigsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListChannelPartnerRepricingConfigsResponse;
+
+ /**
+ * Decodes a ListChannelPartnerRepricingConfigsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListChannelPartnerRepricingConfigsResponse
+ * @throws {Error} If the payload 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.channel.v1.ListChannelPartnerRepricingConfigsResponse;
+
+ /**
+ * Verifies a ListChannelPartnerRepricingConfigsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListChannelPartnerRepricingConfigsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListChannelPartnerRepricingConfigsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse;
+
+ /**
+ * Creates a plain object from a ListChannelPartnerRepricingConfigsResponse message. Also converts values to other types if specified.
+ * @param message ListChannelPartnerRepricingConfigsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListChannelPartnerRepricingConfigsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListChannelPartnerRepricingConfigsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListChannelPartnerRepricingConfigsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateChannelPartnerRepricingConfigRequest. */
+ interface ICreateChannelPartnerRepricingConfigRequest {
+
+ /** CreateChannelPartnerRepricingConfigRequest parent */
+ parent?: (string|null);
+
+ /** CreateChannelPartnerRepricingConfigRequest channelPartnerRepricingConfig */
+ channelPartnerRepricingConfig?: (google.cloud.channel.v1.IChannelPartnerRepricingConfig|null);
+ }
+
+ /** Represents a CreateChannelPartnerRepricingConfigRequest. */
+ class CreateChannelPartnerRepricingConfigRequest implements ICreateChannelPartnerRepricingConfigRequest {
+
+ /**
+ * Constructs a new CreateChannelPartnerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest);
+
+ /** CreateChannelPartnerRepricingConfigRequest parent. */
+ public parent: string;
+
+ /** CreateChannelPartnerRepricingConfigRequest channelPartnerRepricingConfig. */
+ public channelPartnerRepricingConfig?: (google.cloud.channel.v1.IChannelPartnerRepricingConfig|null);
+
+ /**
+ * Creates a new CreateChannelPartnerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateChannelPartnerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest): google.cloud.channel.v1.CreateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified CreateChannelPartnerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.CreateChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message CreateChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateChannelPartnerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CreateChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message CreateChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICreateChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateChannelPartnerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CreateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Decodes a CreateChannelPartnerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.CreateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Verifies a CreateChannelPartnerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateChannelPartnerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateChannelPartnerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CreateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a CreateChannelPartnerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message CreateChannelPartnerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CreateChannelPartnerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateChannelPartnerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateChannelPartnerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UpdateChannelPartnerRepricingConfigRequest. */
+ interface IUpdateChannelPartnerRepricingConfigRequest {
+
+ /** UpdateChannelPartnerRepricingConfigRequest channelPartnerRepricingConfig */
+ channelPartnerRepricingConfig?: (google.cloud.channel.v1.IChannelPartnerRepricingConfig|null);
+ }
+
+ /** Represents an UpdateChannelPartnerRepricingConfigRequest. */
+ class UpdateChannelPartnerRepricingConfigRequest implements IUpdateChannelPartnerRepricingConfigRequest {
+
+ /**
+ * Constructs a new UpdateChannelPartnerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest);
+
+ /** UpdateChannelPartnerRepricingConfigRequest channelPartnerRepricingConfig. */
+ public channelPartnerRepricingConfig?: (google.cloud.channel.v1.IChannelPartnerRepricingConfig|null);
+
+ /**
+ * Creates a new UpdateChannelPartnerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UpdateChannelPartnerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest): google.cloud.channel.v1.UpdateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified UpdateChannelPartnerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.UpdateChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message UpdateChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UpdateChannelPartnerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UpdateChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message UpdateChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUpdateChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UpdateChannelPartnerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UpdateChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.UpdateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Decodes an UpdateChannelPartnerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UpdateChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.UpdateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Verifies an UpdateChannelPartnerRepricingConfigRequest message.
+ * @param message Plain 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 UpdateChannelPartnerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UpdateChannelPartnerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UpdateChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from an UpdateChannelPartnerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message UpdateChannelPartnerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UpdateChannelPartnerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UpdateChannelPartnerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UpdateChannelPartnerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteChannelPartnerRepricingConfigRequest. */
+ interface IDeleteChannelPartnerRepricingConfigRequest {
+
+ /** DeleteChannelPartnerRepricingConfigRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteChannelPartnerRepricingConfigRequest. */
+ class DeleteChannelPartnerRepricingConfigRequest implements IDeleteChannelPartnerRepricingConfigRequest {
+
+ /**
+ * Constructs a new DeleteChannelPartnerRepricingConfigRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest);
+
+ /** DeleteChannelPartnerRepricingConfigRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteChannelPartnerRepricingConfigRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteChannelPartnerRepricingConfigRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest): google.cloud.channel.v1.DeleteChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Encodes the specified DeleteChannelPartnerRepricingConfigRequest message. Does not implicitly {@link google.cloud.channel.v1.DeleteChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message DeleteChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteChannelPartnerRepricingConfigRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.DeleteChannelPartnerRepricingConfigRequest.verify|verify} messages.
+ * @param message DeleteChannelPartnerRepricingConfigRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IDeleteChannelPartnerRepricingConfigRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteChannelPartnerRepricingConfigRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload is not 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.channel.v1.DeleteChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Decodes a DeleteChannelPartnerRepricingConfigRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteChannelPartnerRepricingConfigRequest
+ * @throws {Error} If the payload 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.channel.v1.DeleteChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Verifies a DeleteChannelPartnerRepricingConfigRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteChannelPartnerRepricingConfigRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteChannelPartnerRepricingConfigRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.DeleteChannelPartnerRepricingConfigRequest;
+
+ /**
+ * Creates a plain object from a DeleteChannelPartnerRepricingConfigRequest message. Also converts values to other types if specified.
+ * @param message DeleteChannelPartnerRepricingConfigRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.DeleteChannelPartnerRepricingConfigRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteChannelPartnerRepricingConfigRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteChannelPartnerRepricingConfigRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CreateEntitlementRequest. */
+ interface ICreateEntitlementRequest {
+
+ /** CreateEntitlementRequest parent */
+ parent?: (string|null);
+
+ /** CreateEntitlementRequest entitlement */
+ entitlement?: (google.cloud.channel.v1.IEntitlement|null);
+
+ /** CreateEntitlementRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CreateEntitlementRequest. */
+ class CreateEntitlementRequest implements ICreateEntitlementRequest {
+
+ /**
+ * Constructs a new CreateEntitlementRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICreateEntitlementRequest);
+
+ /** CreateEntitlementRequest parent. */
+ public parent: string;
+
+ /** CreateEntitlementRequest entitlement. */
+ public entitlement?: (google.cloud.channel.v1.IEntitlement|null);
+
+ /** CreateEntitlementRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CreateEntitlementRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEntitlementRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICreateEntitlementRequest): google.cloud.channel.v1.CreateEntitlementRequest;
+
+ /**
+ * Encodes the specified CreateEntitlementRequest message. Does not implicitly {@link google.cloud.channel.v1.CreateEntitlementRequest.verify|verify} messages.
+ * @param message CreateEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICreateEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEntitlementRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CreateEntitlementRequest.verify|verify} messages.
+ * @param message CreateEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICreateEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEntitlementRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEntitlementRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CreateEntitlementRequest;
+
+ /**
+ * Decodes a CreateEntitlementRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEntitlementRequest
+ * @throws {Error} If the payload 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.channel.v1.CreateEntitlementRequest;
+
+ /**
+ * Verifies a CreateEntitlementRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEntitlementRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEntitlementRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CreateEntitlementRequest;
+
+ /**
+ * Creates a plain object from a CreateEntitlementRequest message. Also converts values to other types if specified.
+ * @param message CreateEntitlementRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CreateEntitlementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEntitlementRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEntitlementRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferEntitlementsRequest. */
+ interface ITransferEntitlementsRequest {
+
+ /** TransferEntitlementsRequest parent */
+ parent?: (string|null);
+
+ /** TransferEntitlementsRequest entitlements */
+ entitlements?: (google.cloud.channel.v1.IEntitlement[]|null);
+
+ /** TransferEntitlementsRequest authToken */
+ authToken?: (string|null);
+
+ /** TransferEntitlementsRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a TransferEntitlementsRequest. */
+ class TransferEntitlementsRequest implements ITransferEntitlementsRequest {
+
+ /**
+ * Constructs a new TransferEntitlementsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferEntitlementsRequest);
+
+ /** TransferEntitlementsRequest parent. */
+ public parent: string;
+
+ /** TransferEntitlementsRequest entitlements. */
+ public entitlements: google.cloud.channel.v1.IEntitlement[];
+
+ /** TransferEntitlementsRequest authToken. */
+ public authToken: string;
+
+ /** TransferEntitlementsRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new TransferEntitlementsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferEntitlementsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferEntitlementsRequest): google.cloud.channel.v1.TransferEntitlementsRequest;
+
+ /**
+ * Encodes the specified TransferEntitlementsRequest message. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsRequest.verify|verify} messages.
+ * @param message TransferEntitlementsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferEntitlementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferEntitlementsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsRequest.verify|verify} messages.
+ * @param message TransferEntitlementsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferEntitlementsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferEntitlementsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferEntitlementsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.TransferEntitlementsRequest;
+
+ /**
+ * Decodes a TransferEntitlementsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferEntitlementsRequest
+ * @throws {Error} If the payload 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.channel.v1.TransferEntitlementsRequest;
+
+ /**
+ * Verifies a TransferEntitlementsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferEntitlementsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferEntitlementsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferEntitlementsRequest;
+
+ /**
+ * Creates a plain object from a TransferEntitlementsRequest message. Also converts values to other types if specified.
+ * @param message TransferEntitlementsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferEntitlementsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferEntitlementsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferEntitlementsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferEntitlementsResponse. */
+ interface ITransferEntitlementsResponse {
+
+ /** TransferEntitlementsResponse entitlements */
+ entitlements?: (google.cloud.channel.v1.IEntitlement[]|null);
+ }
+
+ /** Represents a TransferEntitlementsResponse. */
+ class TransferEntitlementsResponse implements ITransferEntitlementsResponse {
+
+ /**
+ * Constructs a new TransferEntitlementsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferEntitlementsResponse);
+
+ /** TransferEntitlementsResponse entitlements. */
+ public entitlements: google.cloud.channel.v1.IEntitlement[];
+
+ /**
+ * Creates a new TransferEntitlementsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferEntitlementsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferEntitlementsResponse): google.cloud.channel.v1.TransferEntitlementsResponse;
+
+ /**
+ * Encodes the specified TransferEntitlementsResponse message. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsResponse.verify|verify} messages.
+ * @param message TransferEntitlementsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferEntitlementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferEntitlementsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsResponse.verify|verify} messages.
+ * @param message TransferEntitlementsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferEntitlementsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferEntitlementsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferEntitlementsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.TransferEntitlementsResponse;
+
+ /**
+ * Decodes a TransferEntitlementsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferEntitlementsResponse
+ * @throws {Error} If the payload 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.channel.v1.TransferEntitlementsResponse;
+
+ /**
+ * Verifies a TransferEntitlementsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferEntitlementsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferEntitlementsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferEntitlementsResponse;
+
+ /**
+ * Creates a plain object from a TransferEntitlementsResponse message. Also converts values to other types if specified.
+ * @param message TransferEntitlementsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferEntitlementsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferEntitlementsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferEntitlementsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TransferEntitlementsToGoogleRequest. */
+ interface ITransferEntitlementsToGoogleRequest {
+
+ /** TransferEntitlementsToGoogleRequest parent */
+ parent?: (string|null);
+
+ /** TransferEntitlementsToGoogleRequest entitlements */
+ entitlements?: (google.cloud.channel.v1.IEntitlement[]|null);
+
+ /** TransferEntitlementsToGoogleRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a TransferEntitlementsToGoogleRequest. */
+ class TransferEntitlementsToGoogleRequest implements ITransferEntitlementsToGoogleRequest {
+
+ /**
+ * Constructs a new TransferEntitlementsToGoogleRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest);
+
+ /** TransferEntitlementsToGoogleRequest parent. */
+ public parent: string;
+
+ /** TransferEntitlementsToGoogleRequest entitlements. */
+ public entitlements: google.cloud.channel.v1.IEntitlement[];
+
+ /** TransferEntitlementsToGoogleRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new TransferEntitlementsToGoogleRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TransferEntitlementsToGoogleRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest): google.cloud.channel.v1.TransferEntitlementsToGoogleRequest;
+
+ /**
+ * Encodes the specified TransferEntitlementsToGoogleRequest message. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsToGoogleRequest.verify|verify} messages.
+ * @param message TransferEntitlementsToGoogleRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TransferEntitlementsToGoogleRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferEntitlementsToGoogleRequest.verify|verify} messages.
+ * @param message TransferEntitlementsToGoogleRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ITransferEntitlementsToGoogleRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TransferEntitlementsToGoogleRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TransferEntitlementsToGoogleRequest
+ * @throws {Error} If the payload is not 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.channel.v1.TransferEntitlementsToGoogleRequest;
+
+ /**
+ * Decodes a TransferEntitlementsToGoogleRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TransferEntitlementsToGoogleRequest
+ * @throws {Error} If the payload 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.channel.v1.TransferEntitlementsToGoogleRequest;
+
+ /**
+ * Verifies a TransferEntitlementsToGoogleRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TransferEntitlementsToGoogleRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TransferEntitlementsToGoogleRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.TransferEntitlementsToGoogleRequest;
+
+ /**
+ * Creates a plain object from a TransferEntitlementsToGoogleRequest message. Also converts values to other types if specified.
+ * @param message TransferEntitlementsToGoogleRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.TransferEntitlementsToGoogleRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TransferEntitlementsToGoogleRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TransferEntitlementsToGoogleRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChangeParametersRequest. */
+ interface IChangeParametersRequest {
+
+ /** ChangeParametersRequest name */
+ name?: (string|null);
+
+ /** ChangeParametersRequest parameters */
+ parameters?: (google.cloud.channel.v1.IParameter[]|null);
+
+ /** ChangeParametersRequest requestId */
+ requestId?: (string|null);
+
+ /** ChangeParametersRequest purchaseOrderId */
+ purchaseOrderId?: (string|null);
+ }
+
+ /** Represents a ChangeParametersRequest. */
+ class ChangeParametersRequest implements IChangeParametersRequest {
+
+ /**
+ * Constructs a new ChangeParametersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IChangeParametersRequest);
+
+ /** ChangeParametersRequest name. */
+ public name: string;
+
+ /** ChangeParametersRequest parameters. */
+ public parameters: google.cloud.channel.v1.IParameter[];
+
+ /** ChangeParametersRequest requestId. */
+ public requestId: string;
+
+ /** ChangeParametersRequest purchaseOrderId. */
+ public purchaseOrderId: string;
+
+ /**
+ * Creates a new ChangeParametersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChangeParametersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IChangeParametersRequest): google.cloud.channel.v1.ChangeParametersRequest;
+
+ /**
+ * Encodes the specified ChangeParametersRequest message. Does not implicitly {@link google.cloud.channel.v1.ChangeParametersRequest.verify|verify} messages.
+ * @param message ChangeParametersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IChangeParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChangeParametersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChangeParametersRequest.verify|verify} messages.
+ * @param message ChangeParametersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IChangeParametersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChangeParametersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChangeParametersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ChangeParametersRequest;
+
+ /**
+ * Decodes a ChangeParametersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChangeParametersRequest
+ * @throws {Error} If the payload 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.channel.v1.ChangeParametersRequest;
+
+ /**
+ * Verifies a ChangeParametersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChangeParametersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChangeParametersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ChangeParametersRequest;
+
+ /**
+ * Creates a plain object from a ChangeParametersRequest message. Also converts values to other types if specified.
+ * @param message ChangeParametersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ChangeParametersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChangeParametersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChangeParametersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChangeRenewalSettingsRequest. */
+ interface IChangeRenewalSettingsRequest {
+
+ /** ChangeRenewalSettingsRequest name */
+ name?: (string|null);
+
+ /** ChangeRenewalSettingsRequest renewalSettings */
+ renewalSettings?: (google.cloud.channel.v1.IRenewalSettings|null);
+
+ /** ChangeRenewalSettingsRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a ChangeRenewalSettingsRequest. */
+ class ChangeRenewalSettingsRequest implements IChangeRenewalSettingsRequest {
+
+ /**
+ * Constructs a new ChangeRenewalSettingsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IChangeRenewalSettingsRequest);
+
+ /** ChangeRenewalSettingsRequest name. */
+ public name: string;
+
+ /** ChangeRenewalSettingsRequest renewalSettings. */
+ public renewalSettings?: (google.cloud.channel.v1.IRenewalSettings|null);
+
+ /** ChangeRenewalSettingsRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ChangeRenewalSettingsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChangeRenewalSettingsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IChangeRenewalSettingsRequest): google.cloud.channel.v1.ChangeRenewalSettingsRequest;
+
+ /**
+ * Encodes the specified ChangeRenewalSettingsRequest message. Does not implicitly {@link google.cloud.channel.v1.ChangeRenewalSettingsRequest.verify|verify} messages.
+ * @param message ChangeRenewalSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IChangeRenewalSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChangeRenewalSettingsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChangeRenewalSettingsRequest.verify|verify} messages.
+ * @param message ChangeRenewalSettingsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IChangeRenewalSettingsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChangeRenewalSettingsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChangeRenewalSettingsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ChangeRenewalSettingsRequest;
+
+ /**
+ * Decodes a ChangeRenewalSettingsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChangeRenewalSettingsRequest
+ * @throws {Error} If the payload 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.channel.v1.ChangeRenewalSettingsRequest;
+
+ /**
+ * Verifies a ChangeRenewalSettingsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChangeRenewalSettingsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChangeRenewalSettingsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ChangeRenewalSettingsRequest;
+
+ /**
+ * Creates a plain object from a ChangeRenewalSettingsRequest message. Also converts values to other types if specified.
+ * @param message ChangeRenewalSettingsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ChangeRenewalSettingsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChangeRenewalSettingsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChangeRenewalSettingsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChangeOfferRequest. */
+ interface IChangeOfferRequest {
+
+ /** ChangeOfferRequest name */
+ name?: (string|null);
+
+ /** ChangeOfferRequest offer */
+ offer?: (string|null);
+
+ /** ChangeOfferRequest parameters */
+ parameters?: (google.cloud.channel.v1.IParameter[]|null);
+
+ /** ChangeOfferRequest purchaseOrderId */
+ purchaseOrderId?: (string|null);
+
+ /** ChangeOfferRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a ChangeOfferRequest. */
+ class ChangeOfferRequest implements IChangeOfferRequest {
+
+ /**
+ * Constructs a new ChangeOfferRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IChangeOfferRequest);
+
+ /** ChangeOfferRequest name. */
+ public name: string;
+
+ /** ChangeOfferRequest offer. */
+ public offer: string;
+
+ /** ChangeOfferRequest parameters. */
+ public parameters: google.cloud.channel.v1.IParameter[];
+
+ /** ChangeOfferRequest purchaseOrderId. */
+ public purchaseOrderId: string;
+
+ /** ChangeOfferRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ChangeOfferRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChangeOfferRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IChangeOfferRequest): google.cloud.channel.v1.ChangeOfferRequest;
+
+ /**
+ * Encodes the specified ChangeOfferRequest message. Does not implicitly {@link google.cloud.channel.v1.ChangeOfferRequest.verify|verify} messages.
+ * @param message ChangeOfferRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IChangeOfferRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChangeOfferRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChangeOfferRequest.verify|verify} messages.
+ * @param message ChangeOfferRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IChangeOfferRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChangeOfferRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChangeOfferRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ChangeOfferRequest;
+
+ /**
+ * Decodes a ChangeOfferRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChangeOfferRequest
+ * @throws {Error} If the payload 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.channel.v1.ChangeOfferRequest;
+
+ /**
+ * Verifies a ChangeOfferRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChangeOfferRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChangeOfferRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ChangeOfferRequest;
+
+ /**
+ * Creates a plain object from a ChangeOfferRequest message. Also converts values to other types if specified.
+ * @param message ChangeOfferRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ChangeOfferRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChangeOfferRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChangeOfferRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a StartPaidServiceRequest. */
+ interface IStartPaidServiceRequest {
+
+ /** StartPaidServiceRequest name */
+ name?: (string|null);
+
+ /** StartPaidServiceRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a StartPaidServiceRequest. */
+ class StartPaidServiceRequest implements IStartPaidServiceRequest {
+
+ /**
+ * Constructs a new StartPaidServiceRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IStartPaidServiceRequest);
+
+ /** StartPaidServiceRequest name. */
+ public name: string;
+
+ /** StartPaidServiceRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new StartPaidServiceRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns StartPaidServiceRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IStartPaidServiceRequest): google.cloud.channel.v1.StartPaidServiceRequest;
+
+ /**
+ * Encodes the specified StartPaidServiceRequest message. Does not implicitly {@link google.cloud.channel.v1.StartPaidServiceRequest.verify|verify} messages.
+ * @param message StartPaidServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IStartPaidServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified StartPaidServiceRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.StartPaidServiceRequest.verify|verify} messages.
+ * @param message StartPaidServiceRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IStartPaidServiceRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a StartPaidServiceRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns StartPaidServiceRequest
+ * @throws {Error} If the payload is not 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.channel.v1.StartPaidServiceRequest;
+
+ /**
+ * Decodes a StartPaidServiceRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns StartPaidServiceRequest
+ * @throws {Error} If the payload 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.channel.v1.StartPaidServiceRequest;
+
+ /**
+ * Verifies a StartPaidServiceRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a StartPaidServiceRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns StartPaidServiceRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.StartPaidServiceRequest;
+
+ /**
+ * Creates a plain object from a StartPaidServiceRequest message. Also converts values to other types if specified.
+ * @param message StartPaidServiceRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.StartPaidServiceRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this StartPaidServiceRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for StartPaidServiceRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelEntitlementRequest. */
+ interface ICancelEntitlementRequest {
+
+ /** CancelEntitlementRequest name */
+ name?: (string|null);
+
+ /** CancelEntitlementRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a CancelEntitlementRequest. */
+ class CancelEntitlementRequest implements ICancelEntitlementRequest {
+
+ /**
+ * Constructs a new CancelEntitlementRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICancelEntitlementRequest);
+
+ /** CancelEntitlementRequest name. */
+ public name: string;
+
+ /** CancelEntitlementRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new CancelEntitlementRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelEntitlementRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICancelEntitlementRequest): google.cloud.channel.v1.CancelEntitlementRequest;
+
+ /**
+ * Encodes the specified CancelEntitlementRequest message. Does not implicitly {@link google.cloud.channel.v1.CancelEntitlementRequest.verify|verify} messages.
+ * @param message CancelEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICancelEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelEntitlementRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CancelEntitlementRequest.verify|verify} messages.
+ * @param message CancelEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICancelEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelEntitlementRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelEntitlementRequest
+ * @throws {Error} If the payload is not 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.channel.v1.CancelEntitlementRequest;
+
+ /**
+ * Decodes a CancelEntitlementRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelEntitlementRequest
+ * @throws {Error} If the payload 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.channel.v1.CancelEntitlementRequest;
+
+ /**
+ * Verifies a CancelEntitlementRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelEntitlementRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelEntitlementRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CancelEntitlementRequest;
+
+ /**
+ * Creates a plain object from a CancelEntitlementRequest message. Also converts values to other types if specified.
+ * @param message CancelEntitlementRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CancelEntitlementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelEntitlementRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelEntitlementRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a SuspendEntitlementRequest. */
+ interface ISuspendEntitlementRequest {
+
+ /** SuspendEntitlementRequest name */
+ name?: (string|null);
+
+ /** SuspendEntitlementRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents a SuspendEntitlementRequest. */
+ class SuspendEntitlementRequest implements ISuspendEntitlementRequest {
+
+ /**
+ * Constructs a new SuspendEntitlementRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ISuspendEntitlementRequest);
+
+ /** SuspendEntitlementRequest name. */
+ public name: string;
+
+ /** SuspendEntitlementRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new SuspendEntitlementRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SuspendEntitlementRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ISuspendEntitlementRequest): google.cloud.channel.v1.SuspendEntitlementRequest;
+
+ /**
+ * Encodes the specified SuspendEntitlementRequest message. Does not implicitly {@link google.cloud.channel.v1.SuspendEntitlementRequest.verify|verify} messages.
+ * @param message SuspendEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ISuspendEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SuspendEntitlementRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.SuspendEntitlementRequest.verify|verify} messages.
+ * @param message SuspendEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ISuspendEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SuspendEntitlementRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SuspendEntitlementRequest
+ * @throws {Error} If the payload is not 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.channel.v1.SuspendEntitlementRequest;
+
+ /**
+ * Decodes a SuspendEntitlementRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SuspendEntitlementRequest
+ * @throws {Error} If the payload 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.channel.v1.SuspendEntitlementRequest;
+
+ /**
+ * Verifies a SuspendEntitlementRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SuspendEntitlementRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SuspendEntitlementRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.SuspendEntitlementRequest;
+
+ /**
+ * Creates a plain object from a SuspendEntitlementRequest message. Also converts values to other types if specified.
+ * @param message SuspendEntitlementRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.SuspendEntitlementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SuspendEntitlementRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SuspendEntitlementRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an ActivateEntitlementRequest. */
+ interface IActivateEntitlementRequest {
+
+ /** ActivateEntitlementRequest name */
+ name?: (string|null);
+
+ /** ActivateEntitlementRequest requestId */
+ requestId?: (string|null);
+ }
+
+ /** Represents an ActivateEntitlementRequest. */
+ class ActivateEntitlementRequest implements IActivateEntitlementRequest {
+
+ /**
+ * Constructs a new ActivateEntitlementRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IActivateEntitlementRequest);
+
+ /** ActivateEntitlementRequest name. */
+ public name: string;
+
+ /** ActivateEntitlementRequest requestId. */
+ public requestId: string;
+
+ /**
+ * Creates a new ActivateEntitlementRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ActivateEntitlementRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IActivateEntitlementRequest): google.cloud.channel.v1.ActivateEntitlementRequest;
+
+ /**
+ * Encodes the specified ActivateEntitlementRequest message. Does not implicitly {@link google.cloud.channel.v1.ActivateEntitlementRequest.verify|verify} messages.
+ * @param message ActivateEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IActivateEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ActivateEntitlementRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ActivateEntitlementRequest.verify|verify} messages.
+ * @param message ActivateEntitlementRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IActivateEntitlementRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an ActivateEntitlementRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ActivateEntitlementRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ActivateEntitlementRequest;
+
+ /**
+ * Decodes an ActivateEntitlementRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ActivateEntitlementRequest
+ * @throws {Error} If the payload 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.channel.v1.ActivateEntitlementRequest;
+
+ /**
+ * Verifies an ActivateEntitlementRequest message.
+ * @param message Plain 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 ActivateEntitlementRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ActivateEntitlementRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ActivateEntitlementRequest;
+
+ /**
+ * Creates a plain object from an ActivateEntitlementRequest message. Also converts values to other types if specified.
+ * @param message ActivateEntitlementRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ActivateEntitlementRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ActivateEntitlementRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ActivateEntitlementRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a LookupOfferRequest. */
+ interface ILookupOfferRequest {
+
+ /** LookupOfferRequest entitlement */
+ entitlement?: (string|null);
+ }
+
+ /** Represents a LookupOfferRequest. */
+ class LookupOfferRequest implements ILookupOfferRequest {
+
+ /**
+ * Constructs a new LookupOfferRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ILookupOfferRequest);
+
+ /** LookupOfferRequest entitlement. */
+ public entitlement: string;
+
+ /**
+ * Creates a new LookupOfferRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns LookupOfferRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ILookupOfferRequest): google.cloud.channel.v1.LookupOfferRequest;
+
+ /**
+ * Encodes the specified LookupOfferRequest message. Does not implicitly {@link google.cloud.channel.v1.LookupOfferRequest.verify|verify} messages.
+ * @param message LookupOfferRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ILookupOfferRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified LookupOfferRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.LookupOfferRequest.verify|verify} messages.
+ * @param message LookupOfferRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ILookupOfferRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a LookupOfferRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns LookupOfferRequest
+ * @throws {Error} If the payload is not 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.channel.v1.LookupOfferRequest;
+
+ /**
+ * Decodes a LookupOfferRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns LookupOfferRequest
+ * @throws {Error} If the payload 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.channel.v1.LookupOfferRequest;
+
+ /**
+ * Verifies a LookupOfferRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a LookupOfferRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns LookupOfferRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.LookupOfferRequest;
+
+ /**
+ * Creates a plain object from a LookupOfferRequest message. Also converts values to other types if specified.
+ * @param message LookupOfferRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.LookupOfferRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this LookupOfferRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for LookupOfferRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsRequest. */
+ interface IListProductsRequest {
+
+ /** ListProductsRequest account */
+ account?: (string|null);
+
+ /** ListProductsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListProductsRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListProductsRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListProductsRequest. */
+ class ListProductsRequest implements IListProductsRequest {
+
+ /**
+ * Constructs a new ListProductsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListProductsRequest);
+
+ /** ListProductsRequest account. */
+ public account: string;
+
+ /** ListProductsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListProductsRequest pageToken. */
+ public pageToken: string;
+
+ /** ListProductsRequest languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new ListProductsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListProductsRequest): google.cloud.channel.v1.ListProductsRequest;
+
+ /**
+ * Encodes the specified ListProductsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListProductsRequest.verify|verify} messages.
+ * @param message ListProductsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListProductsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListProductsRequest;
+
+ /**
+ * Decodes a ListProductsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsRequest
+ * @throws {Error} If the payload 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.channel.v1.ListProductsRequest;
+
+ /**
+ * Verifies a ListProductsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListProductsRequest;
+
+ /**
+ * Creates a plain object from a ListProductsRequest message. Also converts values to other types if specified.
+ * @param message ListProductsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListProductsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListProductsResponse. */
+ interface IListProductsResponse {
+
+ /** ListProductsResponse products */
+ products?: (google.cloud.channel.v1.IProduct[]|null);
+
+ /** ListProductsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListProductsResponse. */
+ class ListProductsResponse implements IListProductsResponse {
+
+ /**
+ * Constructs a new ListProductsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListProductsResponse);
+
+ /** ListProductsResponse products. */
+ public products: google.cloud.channel.v1.IProduct[];
+
+ /** ListProductsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListProductsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListProductsResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListProductsResponse): google.cloud.channel.v1.ListProductsResponse;
+
+ /**
+ * Encodes the specified ListProductsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListProductsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListProductsResponse.verify|verify} messages.
+ * @param message ListProductsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListProductsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListProductsResponse;
+
+ /**
+ * Decodes a ListProductsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListProductsResponse
+ * @throws {Error} If the payload 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.channel.v1.ListProductsResponse;
+
+ /**
+ * Verifies a ListProductsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListProductsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListProductsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListProductsResponse;
+
+ /**
+ * Creates a plain object from a ListProductsResponse message. Also converts values to other types if specified.
+ * @param message ListProductsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListProductsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListProductsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListProductsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSkusRequest. */
+ interface IListSkusRequest {
+
+ /** ListSkusRequest parent */
+ parent?: (string|null);
+
+ /** ListSkusRequest account */
+ account?: (string|null);
+
+ /** ListSkusRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSkusRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListSkusRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListSkusRequest. */
+ class ListSkusRequest implements IListSkusRequest {
+
+ /**
+ * Constructs a new ListSkusRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListSkusRequest);
+
+ /** ListSkusRequest parent. */
+ public parent: string;
+
+ /** ListSkusRequest account. */
+ public account: string;
+
+ /** ListSkusRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSkusRequest pageToken. */
+ public pageToken: string;
+
+ /** ListSkusRequest languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new ListSkusRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSkusRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListSkusRequest): google.cloud.channel.v1.ListSkusRequest;
+
+ /**
+ * Encodes the specified ListSkusRequest message. Does not implicitly {@link google.cloud.channel.v1.ListSkusRequest.verify|verify} messages.
+ * @param message ListSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSkusRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListSkusRequest.verify|verify} messages.
+ * @param message ListSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSkusRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSkusRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListSkusRequest;
+
+ /**
+ * Decodes a ListSkusRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSkusRequest
+ * @throws {Error} If the payload 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.channel.v1.ListSkusRequest;
+
+ /**
+ * Verifies a ListSkusRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSkusRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSkusRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListSkusRequest;
+
+ /**
+ * Creates a plain object from a ListSkusRequest message. Also converts values to other types if specified.
+ * @param message ListSkusRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListSkusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSkusRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSkusRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSkusResponse. */
+ interface IListSkusResponse {
+
+ /** ListSkusResponse skus */
+ skus?: (google.cloud.channel.v1.ISku[]|null);
+
+ /** ListSkusResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSkusResponse. */
+ class ListSkusResponse implements IListSkusResponse {
+
+ /**
+ * Constructs a new ListSkusResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListSkusResponse);
+
+ /** ListSkusResponse skus. */
+ public skus: google.cloud.channel.v1.ISku[];
+
+ /** ListSkusResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSkusResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSkusResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListSkusResponse): google.cloud.channel.v1.ListSkusResponse;
+
+ /**
+ * Encodes the specified ListSkusResponse message. Does not implicitly {@link google.cloud.channel.v1.ListSkusResponse.verify|verify} messages.
+ * @param message ListSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSkusResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListSkusResponse.verify|verify} messages.
+ * @param message ListSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSkusResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSkusResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListSkusResponse;
+
+ /**
+ * Decodes a ListSkusResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSkusResponse
+ * @throws {Error} If the payload 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.channel.v1.ListSkusResponse;
+
+ /**
+ * Verifies a ListSkusResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSkusResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSkusResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListSkusResponse;
+
+ /**
+ * Creates a plain object from a ListSkusResponse message. Also converts values to other types if specified.
+ * @param message ListSkusResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListSkusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSkusResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSkusResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOffersRequest. */
+ interface IListOffersRequest {
+
+ /** ListOffersRequest parent */
+ parent?: (string|null);
+
+ /** ListOffersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOffersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListOffersRequest filter */
+ filter?: (string|null);
+
+ /** ListOffersRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListOffersRequest. */
+ class ListOffersRequest implements IListOffersRequest {
+
+ /**
+ * Constructs a new ListOffersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListOffersRequest);
+
+ /** ListOffersRequest parent. */
+ public parent: string;
+
+ /** ListOffersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOffersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListOffersRequest filter. */
+ public filter: string;
+
+ /** ListOffersRequest languageCode. */
+ public languageCode: string;
+
+ /**
+ * Creates a new ListOffersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOffersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListOffersRequest): google.cloud.channel.v1.ListOffersRequest;
+
+ /**
+ * Encodes the specified ListOffersRequest message. Does not implicitly {@link google.cloud.channel.v1.ListOffersRequest.verify|verify} messages.
+ * @param message ListOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOffersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListOffersRequest.verify|verify} messages.
+ * @param message ListOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOffersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOffersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListOffersRequest;
+
+ /**
+ * Decodes a ListOffersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOffersRequest
+ * @throws {Error} If the payload 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.channel.v1.ListOffersRequest;
+
+ /**
+ * Verifies a ListOffersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOffersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOffersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListOffersRequest;
+
+ /**
+ * Creates a plain object from a ListOffersRequest message. Also converts values to other types if specified.
+ * @param message ListOffersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListOffersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOffersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOffersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOffersResponse. */
+ interface IListOffersResponse {
+
+ /** ListOffersResponse offers */
+ offers?: (google.cloud.channel.v1.IOffer[]|null);
+
+ /** ListOffersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOffersResponse. */
+ class ListOffersResponse implements IListOffersResponse {
+
+ /**
+ * Constructs a new ListOffersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListOffersResponse);
+
+ /** ListOffersResponse offers. */
+ public offers: google.cloud.channel.v1.IOffer[];
+
+ /** ListOffersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOffersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOffersResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListOffersResponse): google.cloud.channel.v1.ListOffersResponse;
+
+ /**
+ * Encodes the specified ListOffersResponse message. Does not implicitly {@link google.cloud.channel.v1.ListOffersResponse.verify|verify} messages.
+ * @param message ListOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOffersResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListOffersResponse.verify|verify} messages.
+ * @param message ListOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOffersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOffersResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListOffersResponse;
+
+ /**
+ * Decodes a ListOffersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOffersResponse
+ * @throws {Error} If the payload 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.channel.v1.ListOffersResponse;
+
+ /**
+ * Verifies a ListOffersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOffersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOffersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListOffersResponse;
+
+ /**
+ * Creates a plain object from a ListOffersResponse message. Also converts values to other types if specified.
+ * @param message ListOffersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListOffersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOffersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOffersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListPurchasableSkusRequest. */
+ interface IListPurchasableSkusRequest {
+
+ /** ListPurchasableSkusRequest createEntitlementPurchase */
+ createEntitlementPurchase?: (google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase|null);
+
+ /** ListPurchasableSkusRequest changeOfferPurchase */
+ changeOfferPurchase?: (google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase|null);
+
+ /** ListPurchasableSkusRequest customer */
+ customer?: (string|null);
+
+ /** ListPurchasableSkusRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListPurchasableSkusRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListPurchasableSkusRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListPurchasableSkusRequest. */
+ class ListPurchasableSkusRequest implements IListPurchasableSkusRequest {
+
+ /**
+ * Constructs a new ListPurchasableSkusRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListPurchasableSkusRequest);
+
+ /** ListPurchasableSkusRequest createEntitlementPurchase. */
+ public createEntitlementPurchase?: (google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase|null);
+
+ /** ListPurchasableSkusRequest changeOfferPurchase. */
+ public changeOfferPurchase?: (google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase|null);
+
+ /** ListPurchasableSkusRequest customer. */
+ public customer: string;
+
+ /** ListPurchasableSkusRequest pageSize. */
+ public pageSize: number;
+
+ /** ListPurchasableSkusRequest pageToken. */
+ public pageToken: string;
+
+ /** ListPurchasableSkusRequest languageCode. */
+ public languageCode: string;
+
+ /** ListPurchasableSkusRequest purchaseOption. */
+ public purchaseOption?: ("createEntitlementPurchase"|"changeOfferPurchase");
+
+ /**
+ * Creates a new ListPurchasableSkusRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPurchasableSkusRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListPurchasableSkusRequest): google.cloud.channel.v1.ListPurchasableSkusRequest;
+
+ /**
+ * Encodes the specified ListPurchasableSkusRequest message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.verify|verify} messages.
+ * @param message ListPurchasableSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListPurchasableSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPurchasableSkusRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.verify|verify} messages.
+ * @param message ListPurchasableSkusRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListPurchasableSkusRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPurchasableSkusRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPurchasableSkusRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableSkusRequest;
+
+ /**
+ * Decodes a ListPurchasableSkusRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPurchasableSkusRequest
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableSkusRequest;
+
+ /**
+ * Verifies a ListPurchasableSkusRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListPurchasableSkusRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPurchasableSkusRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableSkusRequest;
+
+ /**
+ * Creates a plain object from a ListPurchasableSkusRequest message. Also converts values to other types if specified.
+ * @param message ListPurchasableSkusRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableSkusRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPurchasableSkusRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPurchasableSkusRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ListPurchasableSkusRequest {
+
+ /** Properties of a CreateEntitlementPurchase. */
+ interface ICreateEntitlementPurchase {
+
+ /** CreateEntitlementPurchase product */
+ product?: (string|null);
+ }
+
+ /** Represents a CreateEntitlementPurchase. */
+ class CreateEntitlementPurchase implements ICreateEntitlementPurchase {
+
+ /**
+ * Constructs a new CreateEntitlementPurchase.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase);
+
+ /** CreateEntitlementPurchase product. */
+ public product: string;
+
+ /**
+ * Creates a new CreateEntitlementPurchase instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEntitlementPurchase instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase): google.cloud.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase;
+
+ /**
+ * Encodes the specified CreateEntitlementPurchase message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase.verify|verify} messages.
+ * @param message CreateEntitlementPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEntitlementPurchase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase.verify|verify} messages.
+ * @param message CreateEntitlementPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ListPurchasableSkusRequest.ICreateEntitlementPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEntitlementPurchase message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEntitlementPurchase
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase;
+
+ /**
+ * Decodes a CreateEntitlementPurchase message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEntitlementPurchase
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase;
+
+ /**
+ * Verifies a CreateEntitlementPurchase message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEntitlementPurchase message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEntitlementPurchase
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase;
+
+ /**
+ * Creates a plain object from a CreateEntitlementPurchase message. Also converts values to other types if specified.
+ * @param message CreateEntitlementPurchase
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableSkusRequest.CreateEntitlementPurchase, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEntitlementPurchase to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEntitlementPurchase
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChangeOfferPurchase. */
+ interface IChangeOfferPurchase {
+
+ /** ChangeOfferPurchase entitlement */
+ entitlement?: (string|null);
+
+ /** ChangeOfferPurchase changeType */
+ changeType?: (google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.ChangeType|keyof typeof google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.ChangeType|null);
+ }
+
+ /** Represents a ChangeOfferPurchase. */
+ class ChangeOfferPurchase implements IChangeOfferPurchase {
+
+ /**
+ * Constructs a new ChangeOfferPurchase.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase);
+
+ /** ChangeOfferPurchase entitlement. */
+ public entitlement: string;
+
+ /** ChangeOfferPurchase changeType. */
+ public changeType: (google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.ChangeType|keyof typeof google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.ChangeType);
+
+ /**
+ * Creates a new ChangeOfferPurchase instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChangeOfferPurchase instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase): google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase;
+
+ /**
+ * Encodes the specified ChangeOfferPurchase message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.verify|verify} messages.
+ * @param message ChangeOfferPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChangeOfferPurchase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase.verify|verify} messages.
+ * @param message ChangeOfferPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ListPurchasableSkusRequest.IChangeOfferPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChangeOfferPurchase message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChangeOfferPurchase
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase;
+
+ /**
+ * Decodes a ChangeOfferPurchase message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChangeOfferPurchase
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase;
+
+ /**
+ * Verifies a ChangeOfferPurchase message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChangeOfferPurchase message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChangeOfferPurchase
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase;
+
+ /**
+ * Creates a plain object from a ChangeOfferPurchase message. Also converts values to other types if specified.
+ * @param message ChangeOfferPurchase
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableSkusRequest.ChangeOfferPurchase, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChangeOfferPurchase to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChangeOfferPurchase
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ChangeOfferPurchase {
+
+ /** ChangeType enum. */
+ enum ChangeType {
+ CHANGE_TYPE_UNSPECIFIED = 0,
+ UPGRADE = 1,
+ DOWNGRADE = 2
+ }
+ }
+ }
+
+ /** Properties of a ListPurchasableSkusResponse. */
+ interface IListPurchasableSkusResponse {
+
+ /** ListPurchasableSkusResponse purchasableSkus */
+ purchasableSkus?: (google.cloud.channel.v1.IPurchasableSku[]|null);
+
+ /** ListPurchasableSkusResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListPurchasableSkusResponse. */
+ class ListPurchasableSkusResponse implements IListPurchasableSkusResponse {
+
+ /**
+ * Constructs a new ListPurchasableSkusResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListPurchasableSkusResponse);
+
+ /** ListPurchasableSkusResponse purchasableSkus. */
+ public purchasableSkus: google.cloud.channel.v1.IPurchasableSku[];
+
+ /** ListPurchasableSkusResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListPurchasableSkusResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPurchasableSkusResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListPurchasableSkusResponse): google.cloud.channel.v1.ListPurchasableSkusResponse;
+
+ /**
+ * Encodes the specified ListPurchasableSkusResponse message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusResponse.verify|verify} messages.
+ * @param message ListPurchasableSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListPurchasableSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPurchasableSkusResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableSkusResponse.verify|verify} messages.
+ * @param message ListPurchasableSkusResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListPurchasableSkusResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPurchasableSkusResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPurchasableSkusResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableSkusResponse;
+
+ /**
+ * Decodes a ListPurchasableSkusResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPurchasableSkusResponse
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableSkusResponse;
+
+ /**
+ * Verifies a ListPurchasableSkusResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListPurchasableSkusResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPurchasableSkusResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableSkusResponse;
+
+ /**
+ * Creates a plain object from a ListPurchasableSkusResponse message. Also converts values to other types if specified.
+ * @param message ListPurchasableSkusResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableSkusResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPurchasableSkusResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPurchasableSkusResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurchasableSku. */
+ interface IPurchasableSku {
+
+ /** PurchasableSku sku */
+ sku?: (google.cloud.channel.v1.ISku|null);
+ }
+
+ /** Represents a PurchasableSku. */
+ class PurchasableSku implements IPurchasableSku {
+
+ /**
+ * Constructs a new PurchasableSku.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPurchasableSku);
+
+ /** PurchasableSku sku. */
+ public sku?: (google.cloud.channel.v1.ISku|null);
+
+ /**
+ * Creates a new PurchasableSku instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurchasableSku instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPurchasableSku): google.cloud.channel.v1.PurchasableSku;
+
+ /**
+ * Encodes the specified PurchasableSku message. Does not implicitly {@link google.cloud.channel.v1.PurchasableSku.verify|verify} messages.
+ * @param message PurchasableSku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPurchasableSku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurchasableSku message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PurchasableSku.verify|verify} messages.
+ * @param message PurchasableSku message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPurchasableSku, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurchasableSku message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurchasableSku
+ * @throws {Error} If the payload is not 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.channel.v1.PurchasableSku;
+
+ /**
+ * Decodes a PurchasableSku message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurchasableSku
+ * @throws {Error} If the payload 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.channel.v1.PurchasableSku;
+
+ /**
+ * Verifies a PurchasableSku message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurchasableSku message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurchasableSku
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PurchasableSku;
+
+ /**
+ * Creates a plain object from a PurchasableSku message. Also converts values to other types if specified.
+ * @param message PurchasableSku
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PurchasableSku, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurchasableSku to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurchasableSku
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListPurchasableOffersRequest. */
+ interface IListPurchasableOffersRequest {
+
+ /** ListPurchasableOffersRequest createEntitlementPurchase */
+ createEntitlementPurchase?: (google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase|null);
+
+ /** ListPurchasableOffersRequest changeOfferPurchase */
+ changeOfferPurchase?: (google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase|null);
+
+ /** ListPurchasableOffersRequest customer */
+ customer?: (string|null);
+
+ /** ListPurchasableOffersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListPurchasableOffersRequest pageToken */
+ pageToken?: (string|null);
+
+ /** ListPurchasableOffersRequest languageCode */
+ languageCode?: (string|null);
+ }
+
+ /** Represents a ListPurchasableOffersRequest. */
+ class ListPurchasableOffersRequest implements IListPurchasableOffersRequest {
+
+ /**
+ * Constructs a new ListPurchasableOffersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListPurchasableOffersRequest);
+
+ /** ListPurchasableOffersRequest createEntitlementPurchase. */
+ public createEntitlementPurchase?: (google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase|null);
+
+ /** ListPurchasableOffersRequest changeOfferPurchase. */
+ public changeOfferPurchase?: (google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase|null);
+
+ /** ListPurchasableOffersRequest customer. */
+ public customer: string;
+
+ /** ListPurchasableOffersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListPurchasableOffersRequest pageToken. */
+ public pageToken: string;
+
+ /** ListPurchasableOffersRequest languageCode. */
+ public languageCode: string;
+
+ /** ListPurchasableOffersRequest purchaseOption. */
+ public purchaseOption?: ("createEntitlementPurchase"|"changeOfferPurchase");
+
+ /**
+ * Creates a new ListPurchasableOffersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPurchasableOffersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListPurchasableOffersRequest): google.cloud.channel.v1.ListPurchasableOffersRequest;
+
+ /**
+ * Encodes the specified ListPurchasableOffersRequest message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.verify|verify} messages.
+ * @param message ListPurchasableOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListPurchasableOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPurchasableOffersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.verify|verify} messages.
+ * @param message ListPurchasableOffersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListPurchasableOffersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPurchasableOffersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPurchasableOffersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableOffersRequest;
+
+ /**
+ * Decodes a ListPurchasableOffersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPurchasableOffersRequest
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableOffersRequest;
+
+ /**
+ * Verifies a ListPurchasableOffersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListPurchasableOffersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPurchasableOffersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableOffersRequest;
+
+ /**
+ * Creates a plain object from a ListPurchasableOffersRequest message. Also converts values to other types if specified.
+ * @param message ListPurchasableOffersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableOffersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPurchasableOffersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPurchasableOffersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace ListPurchasableOffersRequest {
+
+ /** Properties of a CreateEntitlementPurchase. */
+ interface ICreateEntitlementPurchase {
+
+ /** CreateEntitlementPurchase sku */
+ sku?: (string|null);
+ }
+
+ /** Represents a CreateEntitlementPurchase. */
+ class CreateEntitlementPurchase implements ICreateEntitlementPurchase {
+
+ /**
+ * Constructs a new CreateEntitlementPurchase.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase);
+
+ /** CreateEntitlementPurchase sku. */
+ public sku: string;
+
+ /**
+ * Creates a new CreateEntitlementPurchase instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CreateEntitlementPurchase instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase): google.cloud.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase;
+
+ /**
+ * Encodes the specified CreateEntitlementPurchase message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase.verify|verify} messages.
+ * @param message CreateEntitlementPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CreateEntitlementPurchase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase.verify|verify} messages.
+ * @param message CreateEntitlementPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ListPurchasableOffersRequest.ICreateEntitlementPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CreateEntitlementPurchase message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CreateEntitlementPurchase
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase;
+
+ /**
+ * Decodes a CreateEntitlementPurchase message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CreateEntitlementPurchase
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase;
+
+ /**
+ * Verifies a CreateEntitlementPurchase message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CreateEntitlementPurchase message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CreateEntitlementPurchase
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase;
+
+ /**
+ * Creates a plain object from a CreateEntitlementPurchase message. Also converts values to other types if specified.
+ * @param message CreateEntitlementPurchase
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableOffersRequest.CreateEntitlementPurchase, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CreateEntitlementPurchase to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CreateEntitlementPurchase
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ChangeOfferPurchase. */
+ interface IChangeOfferPurchase {
+
+ /** ChangeOfferPurchase entitlement */
+ entitlement?: (string|null);
+
+ /** ChangeOfferPurchase newSku */
+ newSku?: (string|null);
+ }
+
+ /** Represents a ChangeOfferPurchase. */
+ class ChangeOfferPurchase implements IChangeOfferPurchase {
+
+ /**
+ * Constructs a new ChangeOfferPurchase.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase);
+
+ /** ChangeOfferPurchase entitlement. */
+ public entitlement: string;
+
+ /** ChangeOfferPurchase newSku. */
+ public newSku: string;
+
+ /**
+ * Creates a new ChangeOfferPurchase instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ChangeOfferPurchase instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase): google.cloud.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase;
+
+ /**
+ * Encodes the specified ChangeOfferPurchase message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase.verify|verify} messages.
+ * @param message ChangeOfferPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ChangeOfferPurchase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase.verify|verify} messages.
+ * @param message ChangeOfferPurchase message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ListPurchasableOffersRequest.IChangeOfferPurchase, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ChangeOfferPurchase message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ChangeOfferPurchase
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase;
+
+ /**
+ * Decodes a ChangeOfferPurchase message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ChangeOfferPurchase
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase;
+
+ /**
+ * Verifies a ChangeOfferPurchase message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ChangeOfferPurchase message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ChangeOfferPurchase
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase;
+
+ /**
+ * Creates a plain object from a ChangeOfferPurchase message. Also converts values to other types if specified.
+ * @param message ChangeOfferPurchase
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableOffersRequest.ChangeOfferPurchase, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ChangeOfferPurchase to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ChangeOfferPurchase
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Properties of a ListPurchasableOffersResponse. */
+ interface IListPurchasableOffersResponse {
+
+ /** ListPurchasableOffersResponse purchasableOffers */
+ purchasableOffers?: (google.cloud.channel.v1.IPurchasableOffer[]|null);
+
+ /** ListPurchasableOffersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListPurchasableOffersResponse. */
+ class ListPurchasableOffersResponse implements IListPurchasableOffersResponse {
+
+ /**
+ * Constructs a new ListPurchasableOffersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListPurchasableOffersResponse);
+
+ /** ListPurchasableOffersResponse purchasableOffers. */
+ public purchasableOffers: google.cloud.channel.v1.IPurchasableOffer[];
+
+ /** ListPurchasableOffersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListPurchasableOffersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListPurchasableOffersResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListPurchasableOffersResponse): google.cloud.channel.v1.ListPurchasableOffersResponse;
+
+ /**
+ * Encodes the specified ListPurchasableOffersResponse message. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersResponse.verify|verify} messages.
+ * @param message ListPurchasableOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListPurchasableOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListPurchasableOffersResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListPurchasableOffersResponse.verify|verify} messages.
+ * @param message ListPurchasableOffersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListPurchasableOffersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListPurchasableOffersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListPurchasableOffersResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListPurchasableOffersResponse;
+
+ /**
+ * Decodes a ListPurchasableOffersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListPurchasableOffersResponse
+ * @throws {Error} If the payload 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.channel.v1.ListPurchasableOffersResponse;
+
+ /**
+ * Verifies a ListPurchasableOffersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListPurchasableOffersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListPurchasableOffersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListPurchasableOffersResponse;
+
+ /**
+ * Creates a plain object from a ListPurchasableOffersResponse message. Also converts values to other types if specified.
+ * @param message ListPurchasableOffersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListPurchasableOffersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListPurchasableOffersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListPurchasableOffersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a PurchasableOffer. */
+ interface IPurchasableOffer {
+
+ /** PurchasableOffer offer */
+ offer?: (google.cloud.channel.v1.IOffer|null);
+ }
+
+ /** Represents a PurchasableOffer. */
+ class PurchasableOffer implements IPurchasableOffer {
+
+ /**
+ * Constructs a new PurchasableOffer.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IPurchasableOffer);
+
+ /** PurchasableOffer offer. */
+ public offer?: (google.cloud.channel.v1.IOffer|null);
+
+ /**
+ * Creates a new PurchasableOffer instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns PurchasableOffer instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IPurchasableOffer): google.cloud.channel.v1.PurchasableOffer;
+
+ /**
+ * Encodes the specified PurchasableOffer message. Does not implicitly {@link google.cloud.channel.v1.PurchasableOffer.verify|verify} messages.
+ * @param message PurchasableOffer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IPurchasableOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified PurchasableOffer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PurchasableOffer.verify|verify} messages.
+ * @param message PurchasableOffer message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IPurchasableOffer, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a PurchasableOffer message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns PurchasableOffer
+ * @throws {Error} If the payload is not 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.channel.v1.PurchasableOffer;
+
+ /**
+ * Decodes a PurchasableOffer message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns PurchasableOffer
+ * @throws {Error} If the payload 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.channel.v1.PurchasableOffer;
+
+ /**
+ * Verifies a PurchasableOffer message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a PurchasableOffer message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns PurchasableOffer
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.PurchasableOffer;
+
+ /**
+ * Creates a plain object from a PurchasableOffer message. Also converts values to other types if specified.
+ * @param message PurchasableOffer
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.PurchasableOffer, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this PurchasableOffer to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for PurchasableOffer
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RegisterSubscriberRequest. */
+ interface IRegisterSubscriberRequest {
+
+ /** RegisterSubscriberRequest account */
+ account?: (string|null);
+
+ /** RegisterSubscriberRequest serviceAccount */
+ serviceAccount?: (string|null);
+ }
+
+ /** Represents a RegisterSubscriberRequest. */
+ class RegisterSubscriberRequest implements IRegisterSubscriberRequest {
+
+ /**
+ * Constructs a new RegisterSubscriberRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRegisterSubscriberRequest);
+
+ /** RegisterSubscriberRequest account. */
+ public account: string;
+
+ /** RegisterSubscriberRequest serviceAccount. */
+ public serviceAccount: string;
+
+ /**
+ * Creates a new RegisterSubscriberRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RegisterSubscriberRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRegisterSubscriberRequest): google.cloud.channel.v1.RegisterSubscriberRequest;
+
+ /**
+ * Encodes the specified RegisterSubscriberRequest message. Does not implicitly {@link google.cloud.channel.v1.RegisterSubscriberRequest.verify|verify} messages.
+ * @param message RegisterSubscriberRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRegisterSubscriberRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RegisterSubscriberRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RegisterSubscriberRequest.verify|verify} messages.
+ * @param message RegisterSubscriberRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRegisterSubscriberRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RegisterSubscriberRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RegisterSubscriberRequest
+ * @throws {Error} If the payload is not 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.channel.v1.RegisterSubscriberRequest;
+
+ /**
+ * Decodes a RegisterSubscriberRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RegisterSubscriberRequest
+ * @throws {Error} If the payload 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.channel.v1.RegisterSubscriberRequest;
+
+ /**
+ * Verifies a RegisterSubscriberRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RegisterSubscriberRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RegisterSubscriberRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RegisterSubscriberRequest;
+
+ /**
+ * Creates a plain object from a RegisterSubscriberRequest message. Also converts values to other types if specified.
+ * @param message RegisterSubscriberRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RegisterSubscriberRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RegisterSubscriberRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RegisterSubscriberRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a RegisterSubscriberResponse. */
+ interface IRegisterSubscriberResponse {
+
+ /** RegisterSubscriberResponse topic */
+ topic?: (string|null);
+ }
+
+ /** Represents a RegisterSubscriberResponse. */
+ class RegisterSubscriberResponse implements IRegisterSubscriberResponse {
+
+ /**
+ * Constructs a new RegisterSubscriberResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IRegisterSubscriberResponse);
+
+ /** RegisterSubscriberResponse topic. */
+ public topic: string;
+
+ /**
+ * Creates a new RegisterSubscriberResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns RegisterSubscriberResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IRegisterSubscriberResponse): google.cloud.channel.v1.RegisterSubscriberResponse;
+
+ /**
+ * Encodes the specified RegisterSubscriberResponse message. Does not implicitly {@link google.cloud.channel.v1.RegisterSubscriberResponse.verify|verify} messages.
+ * @param message RegisterSubscriberResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IRegisterSubscriberResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified RegisterSubscriberResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RegisterSubscriberResponse.verify|verify} messages.
+ * @param message RegisterSubscriberResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IRegisterSubscriberResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a RegisterSubscriberResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns RegisterSubscriberResponse
+ * @throws {Error} If the payload is not 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.channel.v1.RegisterSubscriberResponse;
+
+ /**
+ * Decodes a RegisterSubscriberResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns RegisterSubscriberResponse
+ * @throws {Error} If the payload 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.channel.v1.RegisterSubscriberResponse;
+
+ /**
+ * Verifies a RegisterSubscriberResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a RegisterSubscriberResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns RegisterSubscriberResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.RegisterSubscriberResponse;
+
+ /**
+ * Creates a plain object from a RegisterSubscriberResponse message. Also converts values to other types if specified.
+ * @param message RegisterSubscriberResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.RegisterSubscriberResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this RegisterSubscriberResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for RegisterSubscriberResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UnregisterSubscriberRequest. */
+ interface IUnregisterSubscriberRequest {
+
+ /** UnregisterSubscriberRequest account */
+ account?: (string|null);
+
+ /** UnregisterSubscriberRequest serviceAccount */
+ serviceAccount?: (string|null);
+ }
+
+ /** Represents an UnregisterSubscriberRequest. */
+ class UnregisterSubscriberRequest implements IUnregisterSubscriberRequest {
+
+ /**
+ * Constructs a new UnregisterSubscriberRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUnregisterSubscriberRequest);
+
+ /** UnregisterSubscriberRequest account. */
+ public account: string;
+
+ /** UnregisterSubscriberRequest serviceAccount. */
+ public serviceAccount: string;
+
+ /**
+ * Creates a new UnregisterSubscriberRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UnregisterSubscriberRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUnregisterSubscriberRequest): google.cloud.channel.v1.UnregisterSubscriberRequest;
+
+ /**
+ * Encodes the specified UnregisterSubscriberRequest message. Does not implicitly {@link google.cloud.channel.v1.UnregisterSubscriberRequest.verify|verify} messages.
+ * @param message UnregisterSubscriberRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUnregisterSubscriberRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UnregisterSubscriberRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UnregisterSubscriberRequest.verify|verify} messages.
+ * @param message UnregisterSubscriberRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUnregisterSubscriberRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UnregisterSubscriberRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UnregisterSubscriberRequest
+ * @throws {Error} If the payload is not 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.channel.v1.UnregisterSubscriberRequest;
+
+ /**
+ * Decodes an UnregisterSubscriberRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UnregisterSubscriberRequest
+ * @throws {Error} If the payload 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.channel.v1.UnregisterSubscriberRequest;
+
+ /**
+ * Verifies an UnregisterSubscriberRequest message.
+ * @param message Plain 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 UnregisterSubscriberRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UnregisterSubscriberRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UnregisterSubscriberRequest;
+
+ /**
+ * Creates a plain object from an UnregisterSubscriberRequest message. Also converts values to other types if specified.
+ * @param message UnregisterSubscriberRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UnregisterSubscriberRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UnregisterSubscriberRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UnregisterSubscriberRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an UnregisterSubscriberResponse. */
+ interface IUnregisterSubscriberResponse {
+
+ /** UnregisterSubscriberResponse topic */
+ topic?: (string|null);
+ }
+
+ /** Represents an UnregisterSubscriberResponse. */
+ class UnregisterSubscriberResponse implements IUnregisterSubscriberResponse {
+
+ /**
+ * Constructs a new UnregisterSubscriberResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IUnregisterSubscriberResponse);
+
+ /** UnregisterSubscriberResponse topic. */
+ public topic: string;
+
+ /**
+ * Creates a new UnregisterSubscriberResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns UnregisterSubscriberResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IUnregisterSubscriberResponse): google.cloud.channel.v1.UnregisterSubscriberResponse;
+
+ /**
+ * Encodes the specified UnregisterSubscriberResponse message. Does not implicitly {@link google.cloud.channel.v1.UnregisterSubscriberResponse.verify|verify} messages.
+ * @param message UnregisterSubscriberResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IUnregisterSubscriberResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified UnregisterSubscriberResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.UnregisterSubscriberResponse.verify|verify} messages.
+ * @param message UnregisterSubscriberResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IUnregisterSubscriberResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an UnregisterSubscriberResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns UnregisterSubscriberResponse
+ * @throws {Error} If the payload is not 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.channel.v1.UnregisterSubscriberResponse;
+
+ /**
+ * Decodes an UnregisterSubscriberResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns UnregisterSubscriberResponse
+ * @throws {Error} If the payload 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.channel.v1.UnregisterSubscriberResponse;
+
+ /**
+ * Verifies an UnregisterSubscriberResponse message.
+ * @param message Plain 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 UnregisterSubscriberResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns UnregisterSubscriberResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.UnregisterSubscriberResponse;
+
+ /**
+ * Creates a plain object from an UnregisterSubscriberResponse message. Also converts values to other types if specified.
+ * @param message UnregisterSubscriberResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.UnregisterSubscriberResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this UnregisterSubscriberResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for UnregisterSubscriberResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSubscribersRequest. */
+ interface IListSubscribersRequest {
+
+ /** ListSubscribersRequest account */
+ account?: (string|null);
+
+ /** ListSubscribersRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListSubscribersRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListSubscribersRequest. */
+ class ListSubscribersRequest implements IListSubscribersRequest {
+
+ /**
+ * Constructs a new ListSubscribersRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListSubscribersRequest);
+
+ /** ListSubscribersRequest account. */
+ public account: string;
+
+ /** ListSubscribersRequest pageSize. */
+ public pageSize: number;
+
+ /** ListSubscribersRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListSubscribersRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSubscribersRequest instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListSubscribersRequest): google.cloud.channel.v1.ListSubscribersRequest;
+
+ /**
+ * Encodes the specified ListSubscribersRequest message. Does not implicitly {@link google.cloud.channel.v1.ListSubscribersRequest.verify|verify} messages.
+ * @param message ListSubscribersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListSubscribersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSubscribersRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListSubscribersRequest.verify|verify} messages.
+ * @param message ListSubscribersRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListSubscribersRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSubscribersRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSubscribersRequest
+ * @throws {Error} If the payload is not 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.channel.v1.ListSubscribersRequest;
+
+ /**
+ * Decodes a ListSubscribersRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSubscribersRequest
+ * @throws {Error} If the payload 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.channel.v1.ListSubscribersRequest;
+
+ /**
+ * Verifies a ListSubscribersRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSubscribersRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSubscribersRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListSubscribersRequest;
+
+ /**
+ * Creates a plain object from a ListSubscribersRequest message. Also converts values to other types if specified.
+ * @param message ListSubscribersRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListSubscribersRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSubscribersRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSubscribersRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListSubscribersResponse. */
+ interface IListSubscribersResponse {
+
+ /** ListSubscribersResponse topic */
+ topic?: (string|null);
+
+ /** ListSubscribersResponse serviceAccounts */
+ serviceAccounts?: (string[]|null);
+
+ /** ListSubscribersResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListSubscribersResponse. */
+ class ListSubscribersResponse implements IListSubscribersResponse {
+
+ /**
+ * Constructs a new ListSubscribersResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IListSubscribersResponse);
+
+ /** ListSubscribersResponse topic. */
+ public topic: string;
+
+ /** ListSubscribersResponse serviceAccounts. */
+ public serviceAccounts: string[];
+
+ /** ListSubscribersResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListSubscribersResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListSubscribersResponse instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IListSubscribersResponse): google.cloud.channel.v1.ListSubscribersResponse;
+
+ /**
+ * Encodes the specified ListSubscribersResponse message. Does not implicitly {@link google.cloud.channel.v1.ListSubscribersResponse.verify|verify} messages.
+ * @param message ListSubscribersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IListSubscribersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListSubscribersResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListSubscribersResponse.verify|verify} messages.
+ * @param message ListSubscribersResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IListSubscribersResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListSubscribersResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListSubscribersResponse
+ * @throws {Error} If the payload is not 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.channel.v1.ListSubscribersResponse;
+
+ /**
+ * Decodes a ListSubscribersResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListSubscribersResponse
+ * @throws {Error} If the payload 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.channel.v1.ListSubscribersResponse;
+
+ /**
+ * Verifies a ListSubscribersResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListSubscribersResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListSubscribersResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.ListSubscribersResponse;
+
+ /**
+ * Creates a plain object from a ListSubscribersResponse message. Also converts values to other types if specified.
+ * @param message ListSubscribersResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.ListSubscribersResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListSubscribersResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListSubscribersResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomerEvent. */
+ interface ICustomerEvent {
+
+ /** CustomerEvent customer */
+ customer?: (string|null);
+
+ /** CustomerEvent eventType */
+ eventType?: (google.cloud.channel.v1.CustomerEvent.Type|keyof typeof google.cloud.channel.v1.CustomerEvent.Type|null);
+ }
+
+ /** Represents a CustomerEvent. */
+ class CustomerEvent implements ICustomerEvent {
+
+ /**
+ * Constructs a new CustomerEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ICustomerEvent);
+
+ /** CustomerEvent customer. */
+ public customer: string;
+
+ /** CustomerEvent eventType. */
+ public eventType: (google.cloud.channel.v1.CustomerEvent.Type|keyof typeof google.cloud.channel.v1.CustomerEvent.Type);
+
+ /**
+ * Creates a new CustomerEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomerEvent instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ICustomerEvent): google.cloud.channel.v1.CustomerEvent;
+
+ /**
+ * Encodes the specified CustomerEvent message. Does not implicitly {@link google.cloud.channel.v1.CustomerEvent.verify|verify} messages.
+ * @param message CustomerEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ICustomerEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomerEvent message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CustomerEvent.verify|verify} messages.
+ * @param message CustomerEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ICustomerEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomerEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomerEvent
+ * @throws {Error} If the payload is not 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.channel.v1.CustomerEvent;
+
+ /**
+ * Decodes a CustomerEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomerEvent
+ * @throws {Error} If the payload 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.channel.v1.CustomerEvent;
+
+ /**
+ * Verifies a CustomerEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomerEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomerEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.CustomerEvent;
+
+ /**
+ * Creates a plain object from a CustomerEvent message. Also converts values to other types if specified.
+ * @param message CustomerEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.CustomerEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomerEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomerEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace CustomerEvent {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ PRIMARY_DOMAIN_CHANGED = 1,
+ PRIMARY_DOMAIN_VERIFIED = 2
+ }
+ }
+
+ /** Properties of an EntitlementEvent. */
+ interface IEntitlementEvent {
+
+ /** EntitlementEvent entitlement */
+ entitlement?: (string|null);
+
+ /** EntitlementEvent eventType */
+ eventType?: (google.cloud.channel.v1.EntitlementEvent.Type|keyof typeof google.cloud.channel.v1.EntitlementEvent.Type|null);
+ }
+
+ /** Represents an EntitlementEvent. */
+ class EntitlementEvent implements IEntitlementEvent {
+
+ /**
+ * Constructs a new EntitlementEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.IEntitlementEvent);
+
+ /** EntitlementEvent entitlement. */
+ public entitlement: string;
+
+ /** EntitlementEvent eventType. */
+ public eventType: (google.cloud.channel.v1.EntitlementEvent.Type|keyof typeof google.cloud.channel.v1.EntitlementEvent.Type);
+
+ /**
+ * Creates a new EntitlementEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns EntitlementEvent instance
+ */
+ public static create(properties?: google.cloud.channel.v1.IEntitlementEvent): google.cloud.channel.v1.EntitlementEvent;
+
+ /**
+ * Encodes the specified EntitlementEvent message. Does not implicitly {@link google.cloud.channel.v1.EntitlementEvent.verify|verify} messages.
+ * @param message EntitlementEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.IEntitlementEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified EntitlementEvent message, length delimited. Does not implicitly {@link google.cloud.channel.v1.EntitlementEvent.verify|verify} messages.
+ * @param message EntitlementEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.IEntitlementEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an EntitlementEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns EntitlementEvent
+ * @throws {Error} If the payload is not 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.channel.v1.EntitlementEvent;
+
+ /**
+ * Decodes an EntitlementEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns EntitlementEvent
+ * @throws {Error} If the payload 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.channel.v1.EntitlementEvent;
+
+ /**
+ * Verifies an EntitlementEvent message.
+ * @param message Plain 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 EntitlementEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns EntitlementEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.EntitlementEvent;
+
+ /**
+ * Creates a plain object from an EntitlementEvent message. Also converts values to other types if specified.
+ * @param message EntitlementEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.EntitlementEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this EntitlementEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for EntitlementEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ namespace EntitlementEvent {
+
+ /** Type enum. */
+ enum Type {
+ TYPE_UNSPECIFIED = 0,
+ CREATED = 1,
+ PRICE_PLAN_SWITCHED = 3,
+ COMMITMENT_CHANGED = 4,
+ RENEWED = 5,
+ SUSPENDED = 6,
+ ACTIVATED = 7,
+ CANCELLED = 8,
+ SKU_CHANGED = 9,
+ RENEWAL_SETTING_CHANGED = 10,
+ PAID_SERVICE_STARTED = 11,
+ LICENSE_ASSIGNMENT_CHANGED = 12,
+ LICENSE_CAP_CHANGED = 13
+ }
+ }
+
+ /** Properties of a SubscriberEvent. */
+ interface ISubscriberEvent {
+
+ /** SubscriberEvent customerEvent */
+ customerEvent?: (google.cloud.channel.v1.ICustomerEvent|null);
+
+ /** SubscriberEvent entitlementEvent */
+ entitlementEvent?: (google.cloud.channel.v1.IEntitlementEvent|null);
+ }
+
+ /** Represents a SubscriberEvent. */
+ class SubscriberEvent implements ISubscriberEvent {
+
+ /**
+ * Constructs a new SubscriberEvent.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.cloud.channel.v1.ISubscriberEvent);
+
+ /** SubscriberEvent customerEvent. */
+ public customerEvent?: (google.cloud.channel.v1.ICustomerEvent|null);
+
+ /** SubscriberEvent entitlementEvent. */
+ public entitlementEvent?: (google.cloud.channel.v1.IEntitlementEvent|null);
+
+ /** SubscriberEvent event. */
+ public event?: ("customerEvent"|"entitlementEvent");
+
+ /**
+ * Creates a new SubscriberEvent instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns SubscriberEvent instance
+ */
+ public static create(properties?: google.cloud.channel.v1.ISubscriberEvent): google.cloud.channel.v1.SubscriberEvent;
+
+ /**
+ * Encodes the specified SubscriberEvent message. Does not implicitly {@link google.cloud.channel.v1.SubscriberEvent.verify|verify} messages.
+ * @param message SubscriberEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.cloud.channel.v1.ISubscriberEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified SubscriberEvent message, length delimited. Does not implicitly {@link google.cloud.channel.v1.SubscriberEvent.verify|verify} messages.
+ * @param message SubscriberEvent message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.cloud.channel.v1.ISubscriberEvent, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a SubscriberEvent message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns SubscriberEvent
+ * @throws {Error} If the payload is not 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.channel.v1.SubscriberEvent;
+
+ /**
+ * Decodes a SubscriberEvent message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns SubscriberEvent
+ * @throws {Error} If the payload 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.channel.v1.SubscriberEvent;
+
+ /**
+ * Verifies a SubscriberEvent message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a SubscriberEvent message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns SubscriberEvent
+ */
+ public static fromObject(object: { [k: string]: any }): google.cloud.channel.v1.SubscriberEvent;
+
+ /**
+ * Creates a plain object from a SubscriberEvent message. Also converts values to other types if specified.
+ * @param message SubscriberEvent
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.cloud.channel.v1.SubscriberEvent, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this SubscriberEvent to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for SubscriberEvent
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+ }
+ }
+
+ /** Namespace api. */
+ namespace api {
+
+ /** 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;
+ }
+
+ /** Properties of a Http. */
+ interface IHttp {
+
+ /** Http rules */
+ rules?: (google.api.IHttpRule[]|null);
+
+ /** Http fullyDecodeReservedExpansion */
+ fullyDecodeReservedExpansion?: (boolean|null);
+ }
+
+ /** Represents a Http. */
+ class Http implements IHttp {
+
+ /**
+ * Constructs a new Http.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttp);
+
+ /** Http rules. */
+ public rules: google.api.IHttpRule[];
+
+ /** Http fullyDecodeReservedExpansion. */
+ public fullyDecodeReservedExpansion: boolean;
+
+ /**
+ * Creates a new Http instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Http instance
+ */
+ public static create(properties?: google.api.IHttp): google.api.Http;
+
+ /**
+ * Encodes the specified Http message. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Http message, length delimited. Does not implicitly {@link google.api.Http.verify|verify} messages.
+ * @param message Http message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.Http;
+
+ /**
+ * Decodes a Http message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Http
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.Http;
+
+ /**
+ * Verifies a Http message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Http message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Http
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.Http;
+
+ /**
+ * Creates a plain object from a Http message. Also converts values to other types if specified.
+ * @param message Http
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.Http, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Http to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Http
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a HttpRule. */
+ interface IHttpRule {
+
+ /** HttpRule selector */
+ selector?: (string|null);
+
+ /** HttpRule get */
+ get?: (string|null);
+
+ /** HttpRule put */
+ put?: (string|null);
+
+ /** HttpRule post */
+ post?: (string|null);
+
+ /** HttpRule delete */
+ "delete"?: (string|null);
+
+ /** HttpRule patch */
+ patch?: (string|null);
+
+ /** HttpRule custom */
+ custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body */
+ body?: (string|null);
+
+ /** HttpRule responseBody */
+ responseBody?: (string|null);
+
+ /** HttpRule additionalBindings */
+ additionalBindings?: (google.api.IHttpRule[]|null);
+ }
+
+ /** Represents a HttpRule. */
+ class HttpRule implements IHttpRule {
+
+ /**
+ * Constructs a new HttpRule.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.IHttpRule);
+
+ /** HttpRule selector. */
+ public selector: string;
+
+ /** HttpRule get. */
+ public get?: (string|null);
+
+ /** HttpRule put. */
+ public put?: (string|null);
+
+ /** HttpRule post. */
+ public post?: (string|null);
+
+ /** HttpRule delete. */
+ public delete?: (string|null);
+
+ /** HttpRule patch. */
+ public patch?: (string|null);
+
+ /** HttpRule custom. */
+ public custom?: (google.api.ICustomHttpPattern|null);
+
+ /** HttpRule body. */
+ public body: string;
+
+ /** HttpRule responseBody. */
+ public responseBody: string;
+
+ /** HttpRule additionalBindings. */
+ public additionalBindings: google.api.IHttpRule[];
+
+ /** HttpRule pattern. */
+ public pattern?: ("get"|"put"|"post"|"delete"|"patch"|"custom");
+
+ /**
+ * Creates a new HttpRule instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns HttpRule instance
+ */
+ public static create(properties?: google.api.IHttpRule): google.api.HttpRule;
+
+ /**
+ * Encodes the specified HttpRule message. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified HttpRule message, length delimited. Does not implicitly {@link google.api.HttpRule.verify|verify} messages.
+ * @param message HttpRule message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.IHttpRule, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.HttpRule;
+
+ /**
+ * Decodes a HttpRule message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns HttpRule
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.HttpRule;
+
+ /**
+ * Verifies a HttpRule message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a HttpRule message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns HttpRule
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.HttpRule;
+
+ /**
+ * Creates a plain object from a HttpRule message. Also converts values to other types if specified.
+ * @param message HttpRule
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.HttpRule, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this HttpRule to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for HttpRule
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CustomHttpPattern. */
+ interface ICustomHttpPattern {
+
+ /** CustomHttpPattern kind */
+ kind?: (string|null);
+
+ /** CustomHttpPattern path */
+ path?: (string|null);
+ }
+
+ /** Represents a CustomHttpPattern. */
+ class CustomHttpPattern implements ICustomHttpPattern {
+
+ /**
+ * Constructs a new CustomHttpPattern.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.api.ICustomHttpPattern);
+
+ /** CustomHttpPattern kind. */
+ public kind: string;
+
+ /** CustomHttpPattern path. */
+ public path: string;
+
+ /**
+ * Creates a new CustomHttpPattern instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CustomHttpPattern instance
+ */
+ public static create(properties?: google.api.ICustomHttpPattern): google.api.CustomHttpPattern;
+
+ /**
+ * Encodes the specified CustomHttpPattern message. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CustomHttpPattern message, length delimited. Does not implicitly {@link google.api.CustomHttpPattern.verify|verify} messages.
+ * @param message CustomHttpPattern message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.api.ICustomHttpPattern, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.api.CustomHttpPattern;
+
+ /**
+ * Decodes a CustomHttpPattern message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CustomHttpPattern
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.api.CustomHttpPattern;
+
+ /**
+ * Verifies a CustomHttpPattern message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CustomHttpPattern message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CustomHttpPattern
+ */
+ public static fromObject(object: { [k: string]: any }): google.api.CustomHttpPattern;
+
+ /**
+ * Creates a plain object from a CustomHttpPattern message. Also converts values to other types if specified.
+ * @param message CustomHttpPattern
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.api.CustomHttpPattern, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CustomHttpPattern to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CustomHttpPattern
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace 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 Timestamp. */
+ interface ITimestamp {
+
+ /** Timestamp seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Timestamp nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Timestamp. */
+ class Timestamp implements ITimestamp {
+
+ /**
+ * Constructs a new Timestamp.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.ITimestamp);
+
+ /** Timestamp seconds. */
+ public seconds: (number|Long|string);
+
+ /** Timestamp nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Timestamp instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Timestamp instance
+ */
+ public static create(properties?: google.protobuf.ITimestamp): google.protobuf.Timestamp;
+
+ /**
+ * Encodes the specified Timestamp message. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Timestamp message, length delimited. Does not implicitly {@link google.protobuf.Timestamp.verify|verify} messages.
+ * @param message Timestamp message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.ITimestamp, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Timestamp;
+
+ /**
+ * Decodes a Timestamp message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Timestamp
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Timestamp;
+
+ /**
+ * Verifies a Timestamp message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Timestamp message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Timestamp
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Timestamp;
+
+ /**
+ * Creates a plain object from a Timestamp message. Also converts values to other types if specified.
+ * @param message Timestamp
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Timestamp, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Timestamp to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Timestamp
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Duration. */
+ interface IDuration {
+
+ /** Duration seconds */
+ seconds?: (number|Long|string|null);
+
+ /** Duration nanos */
+ nanos?: (number|null);
+ }
+
+ /** Represents a Duration. */
+ class Duration implements IDuration {
+
+ /**
+ * Constructs a new Duration.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IDuration);
+
+ /** Duration seconds. */
+ public seconds: (number|Long|string);
+
+ /** Duration nanos. */
+ public nanos: number;
+
+ /**
+ * Creates a new Duration instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Duration instance
+ */
+ public static create(properties?: google.protobuf.IDuration): google.protobuf.Duration;
+
+ /**
+ * Encodes the specified Duration message. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Duration message, length delimited. Does not implicitly {@link google.protobuf.Duration.verify|verify} messages.
+ * @param message Duration message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IDuration, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Duration;
+
+ /**
+ * Decodes a Duration message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Duration
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Duration;
+
+ /**
+ * Verifies a Duration message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Duration message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Duration
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Duration;
+
+ /**
+ * Creates a plain object from a Duration message. Also converts values to other types if specified.
+ * @param message Duration
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Duration, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Duration to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Duration
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an Empty. */
+ interface IEmpty {
+ }
+
+ /** Represents an Empty. */
+ class Empty implements IEmpty {
+
+ /**
+ * Constructs a new Empty.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IEmpty);
+
+ /**
+ * Creates a new Empty instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Empty instance
+ */
+ public static create(properties?: google.protobuf.IEmpty): google.protobuf.Empty;
+
+ /**
+ * Encodes the specified Empty message. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Empty message, length delimited. Does not implicitly {@link google.protobuf.Empty.verify|verify} messages.
+ * @param message Empty message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IEmpty, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.Empty;
+
+ /**
+ * Decodes an Empty message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Empty
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.Empty;
+
+ /**
+ * Verifies an Empty message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Empty message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Empty
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.Empty;
+
+ /**
+ * Creates a plain object from an Empty message. Also converts values to other types if specified.
+ * @param message Empty
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.Empty, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Empty to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Empty
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a FieldMask. */
+ interface IFieldMask {
+
+ /** FieldMask paths */
+ paths?: (string[]|null);
+ }
+
+ /** Represents a FieldMask. */
+ class FieldMask implements IFieldMask {
+
+ /**
+ * Constructs a new FieldMask.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.protobuf.IFieldMask);
+
+ /** FieldMask paths. */
+ public paths: string[];
+
+ /**
+ * Creates a new FieldMask instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns FieldMask instance
+ */
+ public static create(properties?: google.protobuf.IFieldMask): google.protobuf.FieldMask;
+
+ /**
+ * Encodes the specified FieldMask message. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified FieldMask message, length delimited. Does not implicitly {@link google.protobuf.FieldMask.verify|verify} messages.
+ * @param message FieldMask message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.protobuf.IFieldMask, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.protobuf.FieldMask;
+
+ /**
+ * Decodes a FieldMask message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns FieldMask
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.protobuf.FieldMask;
+
+ /**
+ * Verifies a FieldMask message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a FieldMask message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns FieldMask
+ */
+ public static fromObject(object: { [k: string]: any }): google.protobuf.FieldMask;
+
+ /**
+ * Creates a plain object from a FieldMask message. Also converts values to other types if specified.
+ * @param message FieldMask
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.protobuf.FieldMask, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this FieldMask to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for FieldMask
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace type. */
+ namespace type {
+
+ /** 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;
+ }
+
+ /** 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 Date. */
+ interface IDate {
+
+ /** Date year */
+ year?: (number|null);
+
+ /** Date month */
+ month?: (number|null);
+
+ /** Date day */
+ day?: (number|null);
+ }
+
+ /** Represents a Date. */
+ class Date implements IDate {
+
+ /**
+ * Constructs a new Date.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDate);
+
+ /** Date year. */
+ public year: number;
+
+ /** Date month. */
+ public month: number;
+
+ /** Date day. */
+ public day: number;
+
+ /**
+ * Creates a new Date instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Date instance
+ */
+ public static create(properties?: google.type.IDate): google.type.Date;
+
+ /**
+ * Encodes the specified Date message. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Date message, length delimited. Does not implicitly {@link google.type.Date.verify|verify} messages.
+ * @param message Date message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDate, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Date
+ * @throws {Error} If the payload is not 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.Date;
+
+ /**
+ * Decodes a Date message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Date
+ * @throws {Error} If the payload 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.Date;
+
+ /**
+ * Verifies a Date message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Date message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Date
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Date;
+
+ /**
+ * Creates a plain object from a Date message. Also converts values to other types if specified.
+ * @param message Date
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Date, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Date to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Date
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DateTime. */
+ interface IDateTime {
+
+ /** DateTime year */
+ year?: (number|null);
+
+ /** DateTime month */
+ month?: (number|null);
+
+ /** DateTime day */
+ day?: (number|null);
+
+ /** DateTime hours */
+ hours?: (number|null);
+
+ /** DateTime minutes */
+ minutes?: (number|null);
+
+ /** DateTime seconds */
+ seconds?: (number|null);
+
+ /** DateTime nanos */
+ nanos?: (number|null);
+
+ /** DateTime utcOffset */
+ utcOffset?: (google.protobuf.IDuration|null);
+
+ /** DateTime timeZone */
+ timeZone?: (google.type.ITimeZone|null);
+ }
+
+ /** Represents a DateTime. */
+ class DateTime implements IDateTime {
+
+ /**
+ * Constructs a new DateTime.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDateTime);
+
+ /** DateTime year. */
+ public year: number;
+
+ /** DateTime month. */
+ public month: number;
+
+ /** DateTime day. */
+ public day: number;
+
+ /** DateTime hours. */
+ public hours: number;
+
+ /** DateTime minutes. */
+ public minutes: number;
+
+ /** DateTime seconds. */
+ public seconds: number;
+
+ /** DateTime nanos. */
+ public nanos: number;
+
+ /** DateTime utcOffset. */
+ public utcOffset?: (google.protobuf.IDuration|null);
+
+ /** DateTime timeZone. */
+ public timeZone?: (google.type.ITimeZone|null);
+
+ /** DateTime timeOffset. */
+ public timeOffset?: ("utcOffset"|"timeZone");
+
+ /**
+ * Creates a new DateTime instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DateTime instance
+ */
+ public static create(properties?: google.type.IDateTime): google.type.DateTime;
+
+ /**
+ * Encodes the specified DateTime message. Does not implicitly {@link google.type.DateTime.verify|verify} messages.
+ * @param message DateTime message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDateTime, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DateTime message, length delimited. Does not implicitly {@link google.type.DateTime.verify|verify} messages.
+ * @param message DateTime message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDateTime, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DateTime message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DateTime
+ * @throws {Error} If the payload is not 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.DateTime;
+
+ /**
+ * Decodes a DateTime message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DateTime
+ * @throws {Error} If the payload 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.DateTime;
+
+ /**
+ * Verifies a DateTime message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DateTime message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DateTime
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.DateTime;
+
+ /**
+ * Creates a plain object from a DateTime message. Also converts values to other types if specified.
+ * @param message DateTime
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.DateTime, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DateTime to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DateTime
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a TimeZone. */
+ interface ITimeZone {
+
+ /** TimeZone id */
+ id?: (string|null);
+
+ /** TimeZone version */
+ version?: (string|null);
+ }
+
+ /** Represents a TimeZone. */
+ class TimeZone implements ITimeZone {
+
+ /**
+ * Constructs a new TimeZone.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.ITimeZone);
+
+ /** TimeZone id. */
+ public id: string;
+
+ /** TimeZone version. */
+ public version: string;
+
+ /**
+ * Creates a new TimeZone instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns TimeZone instance
+ */
+ public static create(properties?: google.type.ITimeZone): google.type.TimeZone;
+
+ /**
+ * Encodes the specified TimeZone message. Does not implicitly {@link google.type.TimeZone.verify|verify} messages.
+ * @param message TimeZone message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.ITimeZone, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified TimeZone message, length delimited. Does not implicitly {@link google.type.TimeZone.verify|verify} messages.
+ * @param message TimeZone message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.ITimeZone, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a TimeZone message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns TimeZone
+ * @throws {Error} If the payload is not 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.TimeZone;
+
+ /**
+ * Decodes a TimeZone message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns TimeZone
+ * @throws {Error} If the payload 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.TimeZone;
+
+ /**
+ * Verifies a TimeZone message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a TimeZone message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns TimeZone
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.TimeZone;
+
+ /**
+ * Creates a plain object from a TimeZone message. Also converts values to other types if specified.
+ * @param message TimeZone
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.TimeZone, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this TimeZone to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for TimeZone
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a Decimal. */
+ interface IDecimal {
+
+ /** Decimal value */
+ value?: (string|null);
+ }
+
+ /** Represents a Decimal. */
+ class Decimal implements IDecimal {
+
+ /**
+ * Constructs a new Decimal.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.type.IDecimal);
+
+ /** Decimal value. */
+ public value: string;
+
+ /**
+ * Creates a new Decimal instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Decimal instance
+ */
+ public static create(properties?: google.type.IDecimal): google.type.Decimal;
+
+ /**
+ * Encodes the specified Decimal message. Does not implicitly {@link google.type.Decimal.verify|verify} messages.
+ * @param message Decimal message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.type.IDecimal, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Decimal message, length delimited. Does not implicitly {@link google.type.Decimal.verify|verify} messages.
+ * @param message Decimal message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.type.IDecimal, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Decimal message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Decimal
+ * @throws {Error} If the payload is not 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.Decimal;
+
+ /**
+ * Decodes a Decimal message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Decimal
+ * @throws {Error} If the payload 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.Decimal;
+
+ /**
+ * Verifies a Decimal message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Decimal message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Decimal
+ */
+ public static fromObject(object: { [k: string]: any }): google.type.Decimal;
+
+ /**
+ * Creates a plain object from a Decimal message. Also converts values to other types if specified.
+ * @param message Decimal
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.type.Decimal, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Decimal to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Decimal
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace longrunning. */
+ namespace longrunning {
+
+ /** Represents an Operations */
+ class Operations extends $protobuf.rpc.Service {
+
+ /**
+ * Constructs a new Operations service.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ */
+ constructor(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean);
+
+ /**
+ * Creates new Operations service using the specified rpc implementation.
+ * @param rpcImpl RPC implementation
+ * @param [requestDelimited=false] Whether requests are length-delimited
+ * @param [responseDelimited=false] Whether responses are length-delimited
+ * @returns RPC service. Useful where requests and/or responses are streamed.
+ */
+ public static create(rpcImpl: $protobuf.RPCImpl, requestDelimited?: boolean, responseDelimited?: boolean): Operations;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and ListOperationsResponse
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest, callback: google.longrunning.Operations.ListOperationsCallback): void;
+
+ /**
+ * Calls ListOperations.
+ * @param request ListOperationsRequest message or plain object
+ * @returns Promise
+ */
+ public listOperations(request: google.longrunning.IListOperationsRequest): Promise;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest, callback: google.longrunning.Operations.GetOperationCallback): void;
+
+ /**
+ * Calls GetOperation.
+ * @param request GetOperationRequest message or plain object
+ * @returns Promise
+ */
+ public getOperation(request: google.longrunning.IGetOperationRequest): Promise;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest, callback: google.longrunning.Operations.DeleteOperationCallback): void;
+
+ /**
+ * Calls DeleteOperation.
+ * @param request DeleteOperationRequest message or plain object
+ * @returns Promise
+ */
+ public deleteOperation(request: google.longrunning.IDeleteOperationRequest): Promise;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Empty
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest, callback: google.longrunning.Operations.CancelOperationCallback): void;
+
+ /**
+ * Calls CancelOperation.
+ * @param request CancelOperationRequest message or plain object
+ * @returns Promise
+ */
+ public cancelOperation(request: google.longrunning.ICancelOperationRequest): Promise;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @param callback Node-style callback called with the error, if any, and Operation
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest, callback: google.longrunning.Operations.WaitOperationCallback): void;
+
+ /**
+ * Calls WaitOperation.
+ * @param request WaitOperationRequest message or plain object
+ * @returns Promise
+ */
+ public waitOperation(request: google.longrunning.IWaitOperationRequest): Promise;
+ }
+
+ namespace Operations {
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|listOperations}.
+ * @param error Error, if any
+ * @param [response] ListOperationsResponse
+ */
+ type ListOperationsCallback = (error: (Error|null), response?: google.longrunning.ListOperationsResponse) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|getOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type GetOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|deleteOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type DeleteOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|cancelOperation}.
+ * @param error Error, if any
+ * @param [response] Empty
+ */
+ type CancelOperationCallback = (error: (Error|null), response?: google.protobuf.Empty) => void;
+
+ /**
+ * Callback as used by {@link google.longrunning.Operations|waitOperation}.
+ * @param error Error, if any
+ * @param [response] Operation
+ */
+ type WaitOperationCallback = (error: (Error|null), response?: google.longrunning.Operation) => void;
+ }
+
+ /** Properties of an Operation. */
+ interface IOperation {
+
+ /** Operation name */
+ name?: (string|null);
+
+ /** Operation metadata */
+ metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done */
+ done?: (boolean|null);
+
+ /** Operation error */
+ error?: (google.rpc.IStatus|null);
+
+ /** Operation response */
+ response?: (google.protobuf.IAny|null);
+ }
+
+ /** Represents an Operation. */
+ class Operation implements IOperation {
+
+ /**
+ * Constructs a new Operation.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperation);
+
+ /** Operation name. */
+ public name: string;
+
+ /** Operation metadata. */
+ public metadata?: (google.protobuf.IAny|null);
+
+ /** Operation done. */
+ public done: boolean;
+
+ /** Operation error. */
+ public error?: (google.rpc.IStatus|null);
+
+ /** Operation response. */
+ public response?: (google.protobuf.IAny|null);
+
+ /** Operation result. */
+ public result?: ("error"|"response");
+
+ /**
+ * Creates a new Operation instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Operation instance
+ */
+ public static create(properties?: google.longrunning.IOperation): google.longrunning.Operation;
+
+ /**
+ * Encodes the specified Operation message. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Operation message, length delimited. Does not implicitly {@link google.longrunning.Operation.verify|verify} messages.
+ * @param message Operation message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperation, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.Operation;
+
+ /**
+ * Decodes an Operation message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Operation
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.Operation;
+
+ /**
+ * Verifies an Operation message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an Operation message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Operation
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.Operation;
+
+ /**
+ * Creates a plain object from an Operation message. Also converts values to other types if specified.
+ * @param message Operation
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.Operation, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Operation to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Operation
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a GetOperationRequest. */
+ interface IGetOperationRequest {
+
+ /** GetOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a GetOperationRequest. */
+ class GetOperationRequest implements IGetOperationRequest {
+
+ /**
+ * Constructs a new GetOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IGetOperationRequest);
+
+ /** GetOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new GetOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns GetOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IGetOperationRequest): google.longrunning.GetOperationRequest;
+
+ /**
+ * Encodes the specified GetOperationRequest message. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified GetOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.GetOperationRequest.verify|verify} messages.
+ * @param message GetOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IGetOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.GetOperationRequest;
+
+ /**
+ * Decodes a GetOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns GetOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.GetOperationRequest;
+
+ /**
+ * Verifies a GetOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a GetOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns GetOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.GetOperationRequest;
+
+ /**
+ * Creates a plain object from a GetOperationRequest message. Also converts values to other types if specified.
+ * @param message GetOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.GetOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this GetOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for GetOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsRequest. */
+ interface IListOperationsRequest {
+
+ /** ListOperationsRequest name */
+ name?: (string|null);
+
+ /** ListOperationsRequest filter */
+ filter?: (string|null);
+
+ /** ListOperationsRequest pageSize */
+ pageSize?: (number|null);
+
+ /** ListOperationsRequest pageToken */
+ pageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsRequest. */
+ class ListOperationsRequest implements IListOperationsRequest {
+
+ /**
+ * Constructs a new ListOperationsRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsRequest);
+
+ /** ListOperationsRequest name. */
+ public name: string;
+
+ /** ListOperationsRequest filter. */
+ public filter: string;
+
+ /** ListOperationsRequest pageSize. */
+ public pageSize: number;
+
+ /** ListOperationsRequest pageToken. */
+ public pageToken: string;
+
+ /**
+ * Creates a new ListOperationsRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsRequest instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsRequest): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Encodes the specified ListOperationsRequest message. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsRequest message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsRequest.verify|verify} messages.
+ * @param message ListOperationsRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Decodes a ListOperationsRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Verifies a ListOperationsRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsRequest;
+
+ /**
+ * Creates a plain object from a ListOperationsRequest message. Also converts values to other types if specified.
+ * @param message ListOperationsRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a ListOperationsResponse. */
+ interface IListOperationsResponse {
+
+ /** ListOperationsResponse operations */
+ operations?: (google.longrunning.IOperation[]|null);
+
+ /** ListOperationsResponse nextPageToken */
+ nextPageToken?: (string|null);
+ }
+
+ /** Represents a ListOperationsResponse. */
+ class ListOperationsResponse implements IListOperationsResponse {
+
+ /**
+ * Constructs a new ListOperationsResponse.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IListOperationsResponse);
+
+ /** ListOperationsResponse operations. */
+ public operations: google.longrunning.IOperation[];
+
+ /** ListOperationsResponse nextPageToken. */
+ public nextPageToken: string;
+
+ /**
+ * Creates a new ListOperationsResponse instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns ListOperationsResponse instance
+ */
+ public static create(properties?: google.longrunning.IListOperationsResponse): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Encodes the specified ListOperationsResponse message. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified ListOperationsResponse message, length delimited. Does not implicitly {@link google.longrunning.ListOperationsResponse.verify|verify} messages.
+ * @param message ListOperationsResponse message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IListOperationsResponse, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Decodes a ListOperationsResponse message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns ListOperationsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Verifies a ListOperationsResponse message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a ListOperationsResponse message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns ListOperationsResponse
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.ListOperationsResponse;
+
+ /**
+ * Creates a plain object from a ListOperationsResponse message. Also converts values to other types if specified.
+ * @param message ListOperationsResponse
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.ListOperationsResponse, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this ListOperationsResponse to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for ListOperationsResponse
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a CancelOperationRequest. */
+ interface ICancelOperationRequest {
+
+ /** CancelOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a CancelOperationRequest. */
+ class CancelOperationRequest implements ICancelOperationRequest {
+
+ /**
+ * Constructs a new CancelOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.ICancelOperationRequest);
+
+ /** CancelOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new CancelOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns CancelOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.ICancelOperationRequest): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Encodes the specified CancelOperationRequest message. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified CancelOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.CancelOperationRequest.verify|verify} messages.
+ * @param message CancelOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.ICancelOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Decodes a CancelOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns CancelOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Verifies a CancelOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a CancelOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns CancelOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.CancelOperationRequest;
+
+ /**
+ * Creates a plain object from a CancelOperationRequest message. Also converts values to other types if specified.
+ * @param message CancelOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.CancelOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this CancelOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for CancelOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a DeleteOperationRequest. */
+ interface IDeleteOperationRequest {
+
+ /** DeleteOperationRequest name */
+ name?: (string|null);
+ }
+
+ /** Represents a DeleteOperationRequest. */
+ class DeleteOperationRequest implements IDeleteOperationRequest {
+
+ /**
+ * Constructs a new DeleteOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IDeleteOperationRequest);
+
+ /** DeleteOperationRequest name. */
+ public name: string;
+
+ /**
+ * Creates a new DeleteOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns DeleteOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IDeleteOperationRequest): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified DeleteOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.DeleteOperationRequest.verify|verify} messages.
+ * @param message DeleteOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IDeleteOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Decodes a DeleteOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns DeleteOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Verifies a DeleteOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a DeleteOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns DeleteOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.DeleteOperationRequest;
+
+ /**
+ * Creates a plain object from a DeleteOperationRequest message. Also converts values to other types if specified.
+ * @param message DeleteOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.DeleteOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this DeleteOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for DeleteOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of a WaitOperationRequest. */
+ interface IWaitOperationRequest {
+
+ /** WaitOperationRequest name */
+ name?: (string|null);
+
+ /** WaitOperationRequest timeout */
+ timeout?: (google.protobuf.IDuration|null);
+ }
+
+ /** Represents a WaitOperationRequest. */
+ class WaitOperationRequest implements IWaitOperationRequest {
+
+ /**
+ * Constructs a new WaitOperationRequest.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IWaitOperationRequest);
+
+ /** WaitOperationRequest name. */
+ public name: string;
+
+ /** WaitOperationRequest timeout. */
+ public timeout?: (google.protobuf.IDuration|null);
+
+ /**
+ * Creates a new WaitOperationRequest instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns WaitOperationRequest instance
+ */
+ public static create(properties?: google.longrunning.IWaitOperationRequest): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Encodes the specified WaitOperationRequest message. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified WaitOperationRequest message, length delimited. Does not implicitly {@link google.longrunning.WaitOperationRequest.verify|verify} messages.
+ * @param message WaitOperationRequest message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IWaitOperationRequest, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Decodes a WaitOperationRequest message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns WaitOperationRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Verifies a WaitOperationRequest message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a WaitOperationRequest message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns WaitOperationRequest
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.WaitOperationRequest;
+
+ /**
+ * Creates a plain object from a WaitOperationRequest message. Also converts values to other types if specified.
+ * @param message WaitOperationRequest
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.WaitOperationRequest, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this WaitOperationRequest to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for WaitOperationRequest
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+
+ /** Properties of an OperationInfo. */
+ interface IOperationInfo {
+
+ /** OperationInfo responseType */
+ responseType?: (string|null);
+
+ /** OperationInfo metadataType */
+ metadataType?: (string|null);
+ }
+
+ /** Represents an OperationInfo. */
+ class OperationInfo implements IOperationInfo {
+
+ /**
+ * Constructs a new OperationInfo.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.longrunning.IOperationInfo);
+
+ /** OperationInfo responseType. */
+ public responseType: string;
+
+ /** OperationInfo metadataType. */
+ public metadataType: string;
+
+ /**
+ * Creates a new OperationInfo instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns OperationInfo instance
+ */
+ public static create(properties?: google.longrunning.IOperationInfo): google.longrunning.OperationInfo;
+
+ /**
+ * Encodes the specified OperationInfo message. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified OperationInfo message, length delimited. Does not implicitly {@link google.longrunning.OperationInfo.verify|verify} messages.
+ * @param message OperationInfo message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.longrunning.IOperationInfo, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.longrunning.OperationInfo;
+
+ /**
+ * Decodes an OperationInfo message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns OperationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.longrunning.OperationInfo;
+
+ /**
+ * Verifies an OperationInfo message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates an OperationInfo message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns OperationInfo
+ */
+ public static fromObject(object: { [k: string]: any }): google.longrunning.OperationInfo;
+
+ /**
+ * Creates a plain object from an OperationInfo message. Also converts values to other types if specified.
+ * @param message OperationInfo
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.longrunning.OperationInfo, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this OperationInfo to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for OperationInfo
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+
+ /** Namespace rpc. */
+ namespace rpc {
+
+ /** Properties of a Status. */
+ interface IStatus {
+
+ /** Status code */
+ code?: (number|null);
+
+ /** Status message */
+ message?: (string|null);
+
+ /** Status details */
+ details?: (google.protobuf.IAny[]|null);
+ }
+
+ /** Represents a Status. */
+ class Status implements IStatus {
+
+ /**
+ * Constructs a new Status.
+ * @param [properties] Properties to set
+ */
+ constructor(properties?: google.rpc.IStatus);
+
+ /** Status code. */
+ public code: number;
+
+ /** Status message. */
+ public message: string;
+
+ /** Status details. */
+ public details: google.protobuf.IAny[];
+
+ /**
+ * Creates a new Status instance using the specified properties.
+ * @param [properties] Properties to set
+ * @returns Status instance
+ */
+ public static create(properties?: google.rpc.IStatus): google.rpc.Status;
+
+ /**
+ * Encodes the specified Status message. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encode(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Encodes the specified Status message, length delimited. Does not implicitly {@link google.rpc.Status.verify|verify} messages.
+ * @param message Status message or plain object to encode
+ * @param [writer] Writer to encode to
+ * @returns Writer
+ */
+ public static encodeDelimited(message: google.rpc.IStatus, writer?: $protobuf.Writer): $protobuf.Writer;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer.
+ * @param reader Reader or buffer to decode from
+ * @param [length] Message length if known beforehand
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decode(reader: ($protobuf.Reader|Uint8Array), length?: number): google.rpc.Status;
+
+ /**
+ * Decodes a Status message from the specified reader or buffer, length delimited.
+ * @param reader Reader or buffer to decode from
+ * @returns Status
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ public static decodeDelimited(reader: ($protobuf.Reader|Uint8Array)): google.rpc.Status;
+
+ /**
+ * Verifies a Status message.
+ * @param message Plain object to verify
+ * @returns `null` if valid, otherwise the reason why it is not
+ */
+ public static verify(message: { [k: string]: any }): (string|null);
+
+ /**
+ * Creates a Status message from a plain object. Also converts values to their respective internal types.
+ * @param object Plain object
+ * @returns Status
+ */
+ public static fromObject(object: { [k: string]: any }): google.rpc.Status;
+
+ /**
+ * Creates a plain object from a Status message. Also converts values to other types if specified.
+ * @param message Status
+ * @param [options] Conversion options
+ * @returns Plain object
+ */
+ public static toObject(message: google.rpc.Status, options?: $protobuf.IConversionOptions): { [k: string]: any };
+
+ /**
+ * Converts this Status to JSON.
+ * @returns JSON object
+ */
+ public toJSON(): { [k: string]: any };
+
+ /**
+ * Gets the default type url for Status
+ * @param [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns The default type url
+ */
+ public static getTypeUrl(typeUrlPrefix?: string): string;
+ }
+ }
+}
diff --git a/packages/google-cloud-channel/protos/protos.js b/packages/google-cloud-channel/protos/protos.js
new file mode 100644
index 00000000000..11e2391eb56
--- /dev/null
+++ b/packages/google-cloud-channel/protos/protos.js
@@ -0,0 +1,52289 @@
+// 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_channel_protos || ($protobuf.roots._google_cloud_channel_protos = {});
+
+ $root.google = (function() {
+
+ /**
+ * Namespace google.
+ * @exports google
+ * @namespace
+ */
+ var google = {};
+
+ google.cloud = (function() {
+
+ /**
+ * Namespace cloud.
+ * @memberof google
+ * @namespace
+ */
+ var cloud = {};
+
+ cloud.channel = (function() {
+
+ /**
+ * Namespace channel.
+ * @memberof google.cloud
+ * @namespace
+ */
+ var channel = {};
+
+ channel.v1 = (function() {
+
+ /**
+ * Namespace v1.
+ * @memberof google.cloud.channel
+ * @namespace
+ */
+ var v1 = {};
+
+ /**
+ * ChannelPartnerLinkView enum.
+ * @name google.cloud.channel.v1.ChannelPartnerLinkView
+ * @enum {number}
+ * @property {number} UNSPECIFIED=0 UNSPECIFIED value
+ * @property {number} BASIC=1 BASIC value
+ * @property {number} FULL=2 FULL value
+ */
+ v1.ChannelPartnerLinkView = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "UNSPECIFIED"] = 0;
+ values[valuesById[1] = "BASIC"] = 1;
+ values[valuesById[2] = "FULL"] = 2;
+ return values;
+ })();
+
+ /**
+ * ChannelPartnerLinkState enum.
+ * @name google.cloud.channel.v1.ChannelPartnerLinkState
+ * @enum {number}
+ * @property {number} CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED=0 CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED value
+ * @property {number} INVITED=1 INVITED value
+ * @property {number} ACTIVE=2 ACTIVE value
+ * @property {number} REVOKED=3 REVOKED value
+ * @property {number} SUSPENDED=4 SUSPENDED value
+ */
+ v1.ChannelPartnerLinkState = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "INVITED"] = 1;
+ values[valuesById[2] = "ACTIVE"] = 2;
+ values[valuesById[3] = "REVOKED"] = 3;
+ values[valuesById[4] = "SUSPENDED"] = 4;
+ return values;
+ })();
+
+ v1.ChannelPartnerLink = (function() {
+
+ /**
+ * Properties of a ChannelPartnerLink.
+ * @memberof google.cloud.channel.v1
+ * @interface IChannelPartnerLink
+ * @property {string|null} [name] ChannelPartnerLink name
+ * @property {string|null} [resellerCloudIdentityId] ChannelPartnerLink resellerCloudIdentityId
+ * @property {google.cloud.channel.v1.ChannelPartnerLinkState|null} [linkState] ChannelPartnerLink linkState
+ * @property {string|null} [inviteLinkUri] ChannelPartnerLink inviteLinkUri
+ * @property {google.protobuf.ITimestamp|null} [createTime] ChannelPartnerLink createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] ChannelPartnerLink updateTime
+ * @property {string|null} [publicId] ChannelPartnerLink publicId
+ * @property {google.cloud.channel.v1.ICloudIdentityInfo|null} [channelPartnerCloudIdentityInfo] ChannelPartnerLink channelPartnerCloudIdentityInfo
+ */
+
+ /**
+ * Constructs a new ChannelPartnerLink.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ChannelPartnerLink.
+ * @implements IChannelPartnerLink
+ * @constructor
+ * @param {google.cloud.channel.v1.IChannelPartnerLink=} [properties] Properties to set
+ */
+ function ChannelPartnerLink(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]];
+ }
+
+ /**
+ * ChannelPartnerLink name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.name = "";
+
+ /**
+ * ChannelPartnerLink resellerCloudIdentityId.
+ * @member {string} resellerCloudIdentityId
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.resellerCloudIdentityId = "";
+
+ /**
+ * ChannelPartnerLink linkState.
+ * @member {google.cloud.channel.v1.ChannelPartnerLinkState} linkState
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.linkState = 0;
+
+ /**
+ * ChannelPartnerLink inviteLinkUri.
+ * @member {string} inviteLinkUri
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.inviteLinkUri = "";
+
+ /**
+ * ChannelPartnerLink createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.createTime = null;
+
+ /**
+ * ChannelPartnerLink updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.updateTime = null;
+
+ /**
+ * ChannelPartnerLink publicId.
+ * @member {string} publicId
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.publicId = "";
+
+ /**
+ * ChannelPartnerLink channelPartnerCloudIdentityInfo.
+ * @member {google.cloud.channel.v1.ICloudIdentityInfo|null|undefined} channelPartnerCloudIdentityInfo
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ */
+ ChannelPartnerLink.prototype.channelPartnerCloudIdentityInfo = null;
+
+ /**
+ * Creates a new ChannelPartnerLink instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {google.cloud.channel.v1.IChannelPartnerLink=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ChannelPartnerLink} ChannelPartnerLink instance
+ */
+ ChannelPartnerLink.create = function create(properties) {
+ return new ChannelPartnerLink(properties);
+ };
+
+ /**
+ * Encodes the specified ChannelPartnerLink message. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerLink.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {google.cloud.channel.v1.IChannelPartnerLink} message ChannelPartnerLink message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ChannelPartnerLink.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.resellerCloudIdentityId != null && Object.hasOwnProperty.call(message, "resellerCloudIdentityId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.resellerCloudIdentityId);
+ if (message.linkState != null && Object.hasOwnProperty.call(message, "linkState"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.linkState);
+ if (message.inviteLinkUri != null && Object.hasOwnProperty.call(message, "inviteLinkUri"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.inviteLinkUri);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.publicId != null && Object.hasOwnProperty.call(message, "publicId"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.publicId);
+ if (message.channelPartnerCloudIdentityInfo != null && Object.hasOwnProperty.call(message, "channelPartnerCloudIdentityInfo"))
+ $root.google.cloud.channel.v1.CloudIdentityInfo.encode(message.channelPartnerCloudIdentityInfo, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ChannelPartnerLink message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ChannelPartnerLink.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {google.cloud.channel.v1.IChannelPartnerLink} message ChannelPartnerLink message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ChannelPartnerLink.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ChannelPartnerLink message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ChannelPartnerLink} ChannelPartnerLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ChannelPartnerLink.decode = function 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.channel.v1.ChannelPartnerLink();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.resellerCloudIdentityId = reader.string();
+ break;
+ }
+ case 3: {
+ message.linkState = reader.int32();
+ break;
+ }
+ case 4: {
+ message.inviteLinkUri = reader.string();
+ break;
+ }
+ case 5: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 7: {
+ message.publicId = reader.string();
+ break;
+ }
+ case 8: {
+ message.channelPartnerCloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ChannelPartnerLink message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ChannelPartnerLink} ChannelPartnerLink
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ChannelPartnerLink.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ChannelPartnerLink message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ChannelPartnerLink.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.resellerCloudIdentityId != null && message.hasOwnProperty("resellerCloudIdentityId"))
+ if (!$util.isString(message.resellerCloudIdentityId))
+ return "resellerCloudIdentityId: string expected";
+ if (message.linkState != null && message.hasOwnProperty("linkState"))
+ switch (message.linkState) {
+ default:
+ return "linkState: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ break;
+ }
+ if (message.inviteLinkUri != null && message.hasOwnProperty("inviteLinkUri"))
+ if (!$util.isString(message.inviteLinkUri))
+ return "inviteLinkUri: 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.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.publicId != null && message.hasOwnProperty("publicId"))
+ if (!$util.isString(message.publicId))
+ return "publicId: string expected";
+ if (message.channelPartnerCloudIdentityInfo != null && message.hasOwnProperty("channelPartnerCloudIdentityInfo")) {
+ var error = $root.google.cloud.channel.v1.CloudIdentityInfo.verify(message.channelPartnerCloudIdentityInfo);
+ if (error)
+ return "channelPartnerCloudIdentityInfo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ChannelPartnerLink message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ChannelPartnerLink} ChannelPartnerLink
+ */
+ ChannelPartnerLink.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ChannelPartnerLink)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ChannelPartnerLink();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.resellerCloudIdentityId != null)
+ message.resellerCloudIdentityId = String(object.resellerCloudIdentityId);
+ switch (object.linkState) {
+ default:
+ if (typeof object.linkState === "number") {
+ message.linkState = object.linkState;
+ break;
+ }
+ break;
+ case "CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED":
+ case 0:
+ message.linkState = 0;
+ break;
+ case "INVITED":
+ case 1:
+ message.linkState = 1;
+ break;
+ case "ACTIVE":
+ case 2:
+ message.linkState = 2;
+ break;
+ case "REVOKED":
+ case 3:
+ message.linkState = 3;
+ break;
+ case "SUSPENDED":
+ case 4:
+ message.linkState = 4;
+ break;
+ }
+ if (object.inviteLinkUri != null)
+ message.inviteLinkUri = String(object.inviteLinkUri);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.ChannelPartnerLink.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.ChannelPartnerLink.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.publicId != null)
+ message.publicId = String(object.publicId);
+ if (object.channelPartnerCloudIdentityInfo != null) {
+ if (typeof object.channelPartnerCloudIdentityInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.ChannelPartnerLink.channelPartnerCloudIdentityInfo: object expected");
+ message.channelPartnerCloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.fromObject(object.channelPartnerCloudIdentityInfo);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ChannelPartnerLink message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {google.cloud.channel.v1.ChannelPartnerLink} message ChannelPartnerLink
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ChannelPartnerLink.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.resellerCloudIdentityId = "";
+ object.linkState = options.enums === String ? "CHANNEL_PARTNER_LINK_STATE_UNSPECIFIED" : 0;
+ object.inviteLinkUri = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.publicId = "";
+ object.channelPartnerCloudIdentityInfo = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.resellerCloudIdentityId != null && message.hasOwnProperty("resellerCloudIdentityId"))
+ object.resellerCloudIdentityId = message.resellerCloudIdentityId;
+ if (message.linkState != null && message.hasOwnProperty("linkState"))
+ object.linkState = options.enums === String ? $root.google.cloud.channel.v1.ChannelPartnerLinkState[message.linkState] === undefined ? message.linkState : $root.google.cloud.channel.v1.ChannelPartnerLinkState[message.linkState] : message.linkState;
+ if (message.inviteLinkUri != null && message.hasOwnProperty("inviteLinkUri"))
+ object.inviteLinkUri = message.inviteLinkUri;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.publicId != null && message.hasOwnProperty("publicId"))
+ object.publicId = message.publicId;
+ if (message.channelPartnerCloudIdentityInfo != null && message.hasOwnProperty("channelPartnerCloudIdentityInfo"))
+ object.channelPartnerCloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.toObject(message.channelPartnerCloudIdentityInfo, options);
+ return object;
+ };
+
+ /**
+ * Converts this ChannelPartnerLink to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ChannelPartnerLink.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ChannelPartnerLink
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ChannelPartnerLink
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ChannelPartnerLink.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ChannelPartnerLink";
+ };
+
+ return ChannelPartnerLink;
+ })();
+
+ v1.EduData = (function() {
+
+ /**
+ * Properties of an EduData.
+ * @memberof google.cloud.channel.v1
+ * @interface IEduData
+ * @property {google.cloud.channel.v1.EduData.InstituteType|null} [instituteType] EduData instituteType
+ * @property {google.cloud.channel.v1.EduData.InstituteSize|null} [instituteSize] EduData instituteSize
+ * @property {string|null} [website] EduData website
+ */
+
+ /**
+ * Constructs a new EduData.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an EduData.
+ * @implements IEduData
+ * @constructor
+ * @param {google.cloud.channel.v1.IEduData=} [properties] Properties to set
+ */
+ function EduData(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]];
+ }
+
+ /**
+ * EduData instituteType.
+ * @member {google.cloud.channel.v1.EduData.InstituteType} instituteType
+ * @memberof google.cloud.channel.v1.EduData
+ * @instance
+ */
+ EduData.prototype.instituteType = 0;
+
+ /**
+ * EduData instituteSize.
+ * @member {google.cloud.channel.v1.EduData.InstituteSize} instituteSize
+ * @memberof google.cloud.channel.v1.EduData
+ * @instance
+ */
+ EduData.prototype.instituteSize = 0;
+
+ /**
+ * EduData website.
+ * @member {string} website
+ * @memberof google.cloud.channel.v1.EduData
+ * @instance
+ */
+ EduData.prototype.website = "";
+
+ /**
+ * Creates a new EduData instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {google.cloud.channel.v1.IEduData=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.EduData} EduData instance
+ */
+ EduData.create = function create(properties) {
+ return new EduData(properties);
+ };
+
+ /**
+ * Encodes the specified EduData message. Does not implicitly {@link google.cloud.channel.v1.EduData.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {google.cloud.channel.v1.IEduData} message EduData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EduData.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.instituteType != null && Object.hasOwnProperty.call(message, "instituteType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.instituteType);
+ if (message.instituteSize != null && Object.hasOwnProperty.call(message, "instituteSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.instituteSize);
+ if (message.website != null && Object.hasOwnProperty.call(message, "website"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.website);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified EduData message, length delimited. Does not implicitly {@link google.cloud.channel.v1.EduData.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {google.cloud.channel.v1.IEduData} message EduData message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ EduData.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an EduData message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.EduData} EduData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EduData.decode = function 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.channel.v1.EduData();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.instituteType = reader.int32();
+ break;
+ }
+ case 2: {
+ message.instituteSize = reader.int32();
+ break;
+ }
+ case 3: {
+ message.website = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an EduData message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.EduData} EduData
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ EduData.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an EduData message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ EduData.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.instituteType != null && message.hasOwnProperty("instituteType"))
+ switch (message.instituteType) {
+ default:
+ return "instituteType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.instituteSize != null && message.hasOwnProperty("instituteSize"))
+ switch (message.instituteSize) {
+ default:
+ return "instituteSize: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.website != null && message.hasOwnProperty("website"))
+ if (!$util.isString(message.website))
+ return "website: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an EduData message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.EduData} EduData
+ */
+ EduData.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.EduData)
+ return object;
+ var message = new $root.google.cloud.channel.v1.EduData();
+ switch (object.instituteType) {
+ default:
+ if (typeof object.instituteType === "number") {
+ message.instituteType = object.instituteType;
+ break;
+ }
+ break;
+ case "INSTITUTE_TYPE_UNSPECIFIED":
+ case 0:
+ message.instituteType = 0;
+ break;
+ case "K12":
+ case 1:
+ message.instituteType = 1;
+ break;
+ case "UNIVERSITY":
+ case 2:
+ message.instituteType = 2;
+ break;
+ }
+ switch (object.instituteSize) {
+ default:
+ if (typeof object.instituteSize === "number") {
+ message.instituteSize = object.instituteSize;
+ break;
+ }
+ break;
+ case "INSTITUTE_SIZE_UNSPECIFIED":
+ case 0:
+ message.instituteSize = 0;
+ break;
+ case "SIZE_1_100":
+ case 1:
+ message.instituteSize = 1;
+ break;
+ case "SIZE_101_500":
+ case 2:
+ message.instituteSize = 2;
+ break;
+ case "SIZE_501_1000":
+ case 3:
+ message.instituteSize = 3;
+ break;
+ case "SIZE_1001_2000":
+ case 4:
+ message.instituteSize = 4;
+ break;
+ case "SIZE_2001_5000":
+ case 5:
+ message.instituteSize = 5;
+ break;
+ case "SIZE_5001_10000":
+ case 6:
+ message.instituteSize = 6;
+ break;
+ case "SIZE_10001_OR_MORE":
+ case 7:
+ message.instituteSize = 7;
+ break;
+ }
+ if (object.website != null)
+ message.website = String(object.website);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an EduData message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {google.cloud.channel.v1.EduData} message EduData
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ EduData.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.instituteType = options.enums === String ? "INSTITUTE_TYPE_UNSPECIFIED" : 0;
+ object.instituteSize = options.enums === String ? "INSTITUTE_SIZE_UNSPECIFIED" : 0;
+ object.website = "";
+ }
+ if (message.instituteType != null && message.hasOwnProperty("instituteType"))
+ object.instituteType = options.enums === String ? $root.google.cloud.channel.v1.EduData.InstituteType[message.instituteType] === undefined ? message.instituteType : $root.google.cloud.channel.v1.EduData.InstituteType[message.instituteType] : message.instituteType;
+ if (message.instituteSize != null && message.hasOwnProperty("instituteSize"))
+ object.instituteSize = options.enums === String ? $root.google.cloud.channel.v1.EduData.InstituteSize[message.instituteSize] === undefined ? message.instituteSize : $root.google.cloud.channel.v1.EduData.InstituteSize[message.instituteSize] : message.instituteSize;
+ if (message.website != null && message.hasOwnProperty("website"))
+ object.website = message.website;
+ return object;
+ };
+
+ /**
+ * Converts this EduData to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.EduData
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ EduData.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for EduData
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.EduData
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ EduData.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.EduData";
+ };
+
+ /**
+ * InstituteType enum.
+ * @name google.cloud.channel.v1.EduData.InstituteType
+ * @enum {number}
+ * @property {number} INSTITUTE_TYPE_UNSPECIFIED=0 INSTITUTE_TYPE_UNSPECIFIED value
+ * @property {number} K12=1 K12 value
+ * @property {number} UNIVERSITY=2 UNIVERSITY value
+ */
+ EduData.InstituteType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "INSTITUTE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "K12"] = 1;
+ values[valuesById[2] = "UNIVERSITY"] = 2;
+ return values;
+ })();
+
+ /**
+ * InstituteSize enum.
+ * @name google.cloud.channel.v1.EduData.InstituteSize
+ * @enum {number}
+ * @property {number} INSTITUTE_SIZE_UNSPECIFIED=0 INSTITUTE_SIZE_UNSPECIFIED value
+ * @property {number} SIZE_1_100=1 SIZE_1_100 value
+ * @property {number} SIZE_101_500=2 SIZE_101_500 value
+ * @property {number} SIZE_501_1000=3 SIZE_501_1000 value
+ * @property {number} SIZE_1001_2000=4 SIZE_1001_2000 value
+ * @property {number} SIZE_2001_5000=5 SIZE_2001_5000 value
+ * @property {number} SIZE_5001_10000=6 SIZE_5001_10000 value
+ * @property {number} SIZE_10001_OR_MORE=7 SIZE_10001_OR_MORE value
+ */
+ EduData.InstituteSize = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "INSTITUTE_SIZE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SIZE_1_100"] = 1;
+ values[valuesById[2] = "SIZE_101_500"] = 2;
+ values[valuesById[3] = "SIZE_501_1000"] = 3;
+ values[valuesById[4] = "SIZE_1001_2000"] = 4;
+ values[valuesById[5] = "SIZE_2001_5000"] = 5;
+ values[valuesById[6] = "SIZE_5001_10000"] = 6;
+ values[valuesById[7] = "SIZE_10001_OR_MORE"] = 7;
+ return values;
+ })();
+
+ return EduData;
+ })();
+
+ v1.CloudIdentityInfo = (function() {
+
+ /**
+ * Properties of a CloudIdentityInfo.
+ * @memberof google.cloud.channel.v1
+ * @interface ICloudIdentityInfo
+ * @property {google.cloud.channel.v1.CloudIdentityInfo.CustomerType|null} [customerType] CloudIdentityInfo customerType
+ * @property {string|null} [primaryDomain] CloudIdentityInfo primaryDomain
+ * @property {boolean|null} [isDomainVerified] CloudIdentityInfo isDomainVerified
+ * @property {string|null} [alternateEmail] CloudIdentityInfo alternateEmail
+ * @property {string|null} [phoneNumber] CloudIdentityInfo phoneNumber
+ * @property {string|null} [languageCode] CloudIdentityInfo languageCode
+ * @property {string|null} [adminConsoleUri] CloudIdentityInfo adminConsoleUri
+ * @property {google.cloud.channel.v1.IEduData|null} [eduData] CloudIdentityInfo eduData
+ */
+
+ /**
+ * Constructs a new CloudIdentityInfo.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a CloudIdentityInfo.
+ * @implements ICloudIdentityInfo
+ * @constructor
+ * @param {google.cloud.channel.v1.ICloudIdentityInfo=} [properties] Properties to set
+ */
+ function CloudIdentityInfo(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]];
+ }
+
+ /**
+ * CloudIdentityInfo customerType.
+ * @member {google.cloud.channel.v1.CloudIdentityInfo.CustomerType} customerType
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.customerType = 0;
+
+ /**
+ * CloudIdentityInfo primaryDomain.
+ * @member {string} primaryDomain
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.primaryDomain = "";
+
+ /**
+ * CloudIdentityInfo isDomainVerified.
+ * @member {boolean} isDomainVerified
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.isDomainVerified = false;
+
+ /**
+ * CloudIdentityInfo alternateEmail.
+ * @member {string} alternateEmail
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.alternateEmail = "";
+
+ /**
+ * CloudIdentityInfo phoneNumber.
+ * @member {string} phoneNumber
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.phoneNumber = "";
+
+ /**
+ * CloudIdentityInfo languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.languageCode = "";
+
+ /**
+ * CloudIdentityInfo adminConsoleUri.
+ * @member {string} adminConsoleUri
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.adminConsoleUri = "";
+
+ /**
+ * CloudIdentityInfo eduData.
+ * @member {google.cloud.channel.v1.IEduData|null|undefined} eduData
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ */
+ CloudIdentityInfo.prototype.eduData = null;
+
+ /**
+ * Creates a new CloudIdentityInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {google.cloud.channel.v1.ICloudIdentityInfo=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.CloudIdentityInfo} CloudIdentityInfo instance
+ */
+ CloudIdentityInfo.create = function create(properties) {
+ return new CloudIdentityInfo(properties);
+ };
+
+ /**
+ * Encodes the specified CloudIdentityInfo message. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {google.cloud.channel.v1.ICloudIdentityInfo} message CloudIdentityInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudIdentityInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.customerType != null && Object.hasOwnProperty.call(message, "customerType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.customerType);
+ if (message.isDomainVerified != null && Object.hasOwnProperty.call(message, "isDomainVerified"))
+ writer.uint32(/* id 4, wireType 0 =*/32).bool(message.isDomainVerified);
+ if (message.alternateEmail != null && Object.hasOwnProperty.call(message, "alternateEmail"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.alternateEmail);
+ if (message.phoneNumber != null && Object.hasOwnProperty.call(message, "phoneNumber"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.phoneNumber);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.languageCode);
+ if (message.primaryDomain != null && Object.hasOwnProperty.call(message, "primaryDomain"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.primaryDomain);
+ if (message.adminConsoleUri != null && Object.hasOwnProperty.call(message, "adminConsoleUri"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.adminConsoleUri);
+ if (message.eduData != null && Object.hasOwnProperty.call(message, "eduData"))
+ $root.google.cloud.channel.v1.EduData.encode(message.eduData, writer.uint32(/* id 22, wireType 2 =*/178).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CloudIdentityInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CloudIdentityInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {google.cloud.channel.v1.ICloudIdentityInfo} message CloudIdentityInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CloudIdentityInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CloudIdentityInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.CloudIdentityInfo} CloudIdentityInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudIdentityInfo.decode = function 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.channel.v1.CloudIdentityInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.customerType = reader.int32();
+ break;
+ }
+ case 9: {
+ message.primaryDomain = reader.string();
+ break;
+ }
+ case 4: {
+ message.isDomainVerified = reader.bool();
+ break;
+ }
+ case 6: {
+ message.alternateEmail = reader.string();
+ break;
+ }
+ case 7: {
+ message.phoneNumber = reader.string();
+ break;
+ }
+ case 8: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 10: {
+ message.adminConsoleUri = reader.string();
+ break;
+ }
+ case 22: {
+ message.eduData = $root.google.cloud.channel.v1.EduData.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CloudIdentityInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.CloudIdentityInfo} CloudIdentityInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CloudIdentityInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CloudIdentityInfo message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CloudIdentityInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.customerType != null && message.hasOwnProperty("customerType"))
+ switch (message.customerType) {
+ default:
+ return "customerType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.primaryDomain != null && message.hasOwnProperty("primaryDomain"))
+ if (!$util.isString(message.primaryDomain))
+ return "primaryDomain: string expected";
+ if (message.isDomainVerified != null && message.hasOwnProperty("isDomainVerified"))
+ if (typeof message.isDomainVerified !== "boolean")
+ return "isDomainVerified: boolean expected";
+ if (message.alternateEmail != null && message.hasOwnProperty("alternateEmail"))
+ if (!$util.isString(message.alternateEmail))
+ return "alternateEmail: string expected";
+ if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber"))
+ if (!$util.isString(message.phoneNumber))
+ return "phoneNumber: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.adminConsoleUri != null && message.hasOwnProperty("adminConsoleUri"))
+ if (!$util.isString(message.adminConsoleUri))
+ return "adminConsoleUri: string expected";
+ if (message.eduData != null && message.hasOwnProperty("eduData")) {
+ var error = $root.google.cloud.channel.v1.EduData.verify(message.eduData);
+ if (error)
+ return "eduData." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CloudIdentityInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.CloudIdentityInfo} CloudIdentityInfo
+ */
+ CloudIdentityInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.CloudIdentityInfo)
+ return object;
+ var message = new $root.google.cloud.channel.v1.CloudIdentityInfo();
+ switch (object.customerType) {
+ default:
+ if (typeof object.customerType === "number") {
+ message.customerType = object.customerType;
+ break;
+ }
+ break;
+ case "CUSTOMER_TYPE_UNSPECIFIED":
+ case 0:
+ message.customerType = 0;
+ break;
+ case "DOMAIN":
+ case 1:
+ message.customerType = 1;
+ break;
+ case "TEAM":
+ case 2:
+ message.customerType = 2;
+ break;
+ }
+ if (object.primaryDomain != null)
+ message.primaryDomain = String(object.primaryDomain);
+ if (object.isDomainVerified != null)
+ message.isDomainVerified = Boolean(object.isDomainVerified);
+ if (object.alternateEmail != null)
+ message.alternateEmail = String(object.alternateEmail);
+ if (object.phoneNumber != null)
+ message.phoneNumber = String(object.phoneNumber);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.adminConsoleUri != null)
+ message.adminConsoleUri = String(object.adminConsoleUri);
+ if (object.eduData != null) {
+ if (typeof object.eduData !== "object")
+ throw TypeError(".google.cloud.channel.v1.CloudIdentityInfo.eduData: object expected");
+ message.eduData = $root.google.cloud.channel.v1.EduData.fromObject(object.eduData);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CloudIdentityInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {google.cloud.channel.v1.CloudIdentityInfo} message CloudIdentityInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CloudIdentityInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.customerType = options.enums === String ? "CUSTOMER_TYPE_UNSPECIFIED" : 0;
+ object.isDomainVerified = false;
+ object.alternateEmail = "";
+ object.phoneNumber = "";
+ object.languageCode = "";
+ object.primaryDomain = "";
+ object.adminConsoleUri = "";
+ object.eduData = null;
+ }
+ if (message.customerType != null && message.hasOwnProperty("customerType"))
+ object.customerType = options.enums === String ? $root.google.cloud.channel.v1.CloudIdentityInfo.CustomerType[message.customerType] === undefined ? message.customerType : $root.google.cloud.channel.v1.CloudIdentityInfo.CustomerType[message.customerType] : message.customerType;
+ if (message.isDomainVerified != null && message.hasOwnProperty("isDomainVerified"))
+ object.isDomainVerified = message.isDomainVerified;
+ if (message.alternateEmail != null && message.hasOwnProperty("alternateEmail"))
+ object.alternateEmail = message.alternateEmail;
+ if (message.phoneNumber != null && message.hasOwnProperty("phoneNumber"))
+ object.phoneNumber = message.phoneNumber;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.primaryDomain != null && message.hasOwnProperty("primaryDomain"))
+ object.primaryDomain = message.primaryDomain;
+ if (message.adminConsoleUri != null && message.hasOwnProperty("adminConsoleUri"))
+ object.adminConsoleUri = message.adminConsoleUri;
+ if (message.eduData != null && message.hasOwnProperty("eduData"))
+ object.eduData = $root.google.cloud.channel.v1.EduData.toObject(message.eduData, options);
+ return object;
+ };
+
+ /**
+ * Converts this CloudIdentityInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CloudIdentityInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CloudIdentityInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.CloudIdentityInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CloudIdentityInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.CloudIdentityInfo";
+ };
+
+ /**
+ * CustomerType enum.
+ * @name google.cloud.channel.v1.CloudIdentityInfo.CustomerType
+ * @enum {number}
+ * @property {number} CUSTOMER_TYPE_UNSPECIFIED=0 CUSTOMER_TYPE_UNSPECIFIED value
+ * @property {number} DOMAIN=1 DOMAIN value
+ * @property {number} TEAM=2 TEAM value
+ */
+ CloudIdentityInfo.CustomerType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "CUSTOMER_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DOMAIN"] = 1;
+ values[valuesById[2] = "TEAM"] = 2;
+ return values;
+ })();
+
+ return CloudIdentityInfo;
+ })();
+
+ v1.Value = (function() {
+
+ /**
+ * Properties of a Value.
+ * @memberof google.cloud.channel.v1
+ * @interface IValue
+ * @property {number|Long|null} [int64Value] Value int64Value
+ * @property {string|null} [stringValue] Value stringValue
+ * @property {number|null} [doubleValue] Value doubleValue
+ * @property {google.protobuf.IAny|null} [protoValue] Value protoValue
+ * @property {boolean|null} [boolValue] Value boolValue
+ */
+
+ /**
+ * Constructs a new Value.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Value.
+ * @implements IValue
+ * @constructor
+ * @param {google.cloud.channel.v1.IValue=} [properties] Properties to set
+ */
+ function Value(properties) {
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Value int64Value.
+ * @member {number|Long|null|undefined} int64Value
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Value.prototype.int64Value = null;
+
+ /**
+ * Value stringValue.
+ * @member {string|null|undefined} stringValue
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Value.prototype.stringValue = null;
+
+ /**
+ * Value doubleValue.
+ * @member {number|null|undefined} doubleValue
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Value.prototype.doubleValue = null;
+
+ /**
+ * Value protoValue.
+ * @member {google.protobuf.IAny|null|undefined} protoValue
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Value.prototype.protoValue = null;
+
+ /**
+ * Value boolValue.
+ * @member {boolean|null|undefined} boolValue
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Value.prototype.boolValue = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * Value kind.
+ * @member {"int64Value"|"stringValue"|"doubleValue"|"protoValue"|"boolValue"|undefined} kind
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ */
+ Object.defineProperty(Value.prototype, "kind", {
+ get: $util.oneOfGetter($oneOfFields = ["int64Value", "stringValue", "doubleValue", "protoValue", "boolValue"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new Value instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {google.cloud.channel.v1.IValue=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Value} Value instance
+ */
+ Value.create = function create(properties) {
+ return new Value(properties);
+ };
+
+ /**
+ * Encodes the specified Value message. Does not implicitly {@link google.cloud.channel.v1.Value.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {google.cloud.channel.v1.IValue} message Value message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Value.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.int64Value != null && Object.hasOwnProperty.call(message, "int64Value"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int64(message.int64Value);
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.stringValue);
+ if (message.doubleValue != null && Object.hasOwnProperty.call(message, "doubleValue"))
+ writer.uint32(/* id 3, wireType 1 =*/25).double(message.doubleValue);
+ if (message.protoValue != null && Object.hasOwnProperty.call(message, "protoValue"))
+ $root.google.protobuf.Any.encode(message.protoValue, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.boolValue != null && Object.hasOwnProperty.call(message, "boolValue"))
+ writer.uint32(/* id 5, wireType 0 =*/40).bool(message.boolValue);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Value message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Value.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {google.cloud.channel.v1.IValue} message Value message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Value.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Value message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Value} Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Value.decode = function decode(reader, length) {
+ if (!(reader instanceof $Reader))
+ reader = $Reader.create(reader);
+ var end = length === undefined ? reader.len : reader.pos + length, message = new $root.google.cloud.channel.v1.Value();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.int64Value = reader.int64();
+ break;
+ }
+ case 2: {
+ message.stringValue = reader.string();
+ break;
+ }
+ case 3: {
+ message.doubleValue = reader.double();
+ break;
+ }
+ case 4: {
+ message.protoValue = $root.google.protobuf.Any.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.boolValue = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Value message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Value} Value
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Value.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Value message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Value.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ properties.kind = 1;
+ if (!$util.isInteger(message.int64Value) && !(message.int64Value && $util.isInteger(message.int64Value.low) && $util.isInteger(message.int64Value.high)))
+ return "int64Value: integer|Long expected";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ if (properties.kind === 1)
+ return "kind: multiple values";
+ properties.kind = 1;
+ if (!$util.isString(message.stringValue))
+ return "stringValue: string expected";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ if (properties.kind === 1)
+ return "kind: multiple values";
+ properties.kind = 1;
+ if (typeof message.doubleValue !== "number")
+ return "doubleValue: number expected";
+ }
+ if (message.protoValue != null && message.hasOwnProperty("protoValue")) {
+ if (properties.kind === 1)
+ return "kind: multiple values";
+ properties.kind = 1;
+ {
+ var error = $root.google.protobuf.Any.verify(message.protoValue);
+ if (error)
+ return "protoValue." + error;
+ }
+ }
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ if (properties.kind === 1)
+ return "kind: multiple values";
+ properties.kind = 1;
+ if (typeof message.boolValue !== "boolean")
+ return "boolValue: boolean expected";
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Value message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Value} Value
+ */
+ Value.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Value)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Value();
+ if (object.int64Value != null)
+ if ($util.Long)
+ (message.int64Value = $util.Long.fromValue(object.int64Value)).unsigned = false;
+ else if (typeof object.int64Value === "string")
+ message.int64Value = parseInt(object.int64Value, 10);
+ else if (typeof object.int64Value === "number")
+ message.int64Value = object.int64Value;
+ else if (typeof object.int64Value === "object")
+ message.int64Value = new $util.LongBits(object.int64Value.low >>> 0, object.int64Value.high >>> 0).toNumber();
+ if (object.stringValue != null)
+ message.stringValue = String(object.stringValue);
+ if (object.doubleValue != null)
+ message.doubleValue = Number(object.doubleValue);
+ if (object.protoValue != null) {
+ if (typeof object.protoValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.Value.protoValue: object expected");
+ message.protoValue = $root.google.protobuf.Any.fromObject(object.protoValue);
+ }
+ if (object.boolValue != null)
+ message.boolValue = Boolean(object.boolValue);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Value message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {google.cloud.channel.v1.Value} message Value
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Value.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.int64Value != null && message.hasOwnProperty("int64Value")) {
+ if (typeof message.int64Value === "number")
+ object.int64Value = options.longs === String ? String(message.int64Value) : message.int64Value;
+ else
+ object.int64Value = options.longs === String ? $util.Long.prototype.toString.call(message.int64Value) : options.longs === Number ? new $util.LongBits(message.int64Value.low >>> 0, message.int64Value.high >>> 0).toNumber() : message.int64Value;
+ if (options.oneofs)
+ object.kind = "int64Value";
+ }
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ object.stringValue = message.stringValue;
+ if (options.oneofs)
+ object.kind = "stringValue";
+ }
+ if (message.doubleValue != null && message.hasOwnProperty("doubleValue")) {
+ object.doubleValue = options.json && !isFinite(message.doubleValue) ? String(message.doubleValue) : message.doubleValue;
+ if (options.oneofs)
+ object.kind = "doubleValue";
+ }
+ if (message.protoValue != null && message.hasOwnProperty("protoValue")) {
+ object.protoValue = $root.google.protobuf.Any.toObject(message.protoValue, options);
+ if (options.oneofs)
+ object.kind = "protoValue";
+ }
+ if (message.boolValue != null && message.hasOwnProperty("boolValue")) {
+ object.boolValue = message.boolValue;
+ if (options.oneofs)
+ object.kind = "boolValue";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Value to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Value
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Value.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Value
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Value
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Value.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Value";
+ };
+
+ return Value;
+ })();
+
+ v1.AdminUser = (function() {
+
+ /**
+ * Properties of an AdminUser.
+ * @memberof google.cloud.channel.v1
+ * @interface IAdminUser
+ * @property {string|null} [email] AdminUser email
+ * @property {string|null} [givenName] AdminUser givenName
+ * @property {string|null} [familyName] AdminUser familyName
+ */
+
+ /**
+ * Constructs a new AdminUser.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an AdminUser.
+ * @implements IAdminUser
+ * @constructor
+ * @param {google.cloud.channel.v1.IAdminUser=} [properties] Properties to set
+ */
+ function AdminUser(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]];
+ }
+
+ /**
+ * AdminUser email.
+ * @member {string} email
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @instance
+ */
+ AdminUser.prototype.email = "";
+
+ /**
+ * AdminUser givenName.
+ * @member {string} givenName
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @instance
+ */
+ AdminUser.prototype.givenName = "";
+
+ /**
+ * AdminUser familyName.
+ * @member {string} familyName
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @instance
+ */
+ AdminUser.prototype.familyName = "";
+
+ /**
+ * Creates a new AdminUser instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {google.cloud.channel.v1.IAdminUser=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.AdminUser} AdminUser instance
+ */
+ AdminUser.create = function create(properties) {
+ return new AdminUser(properties);
+ };
+
+ /**
+ * Encodes the specified AdminUser message. Does not implicitly {@link google.cloud.channel.v1.AdminUser.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {google.cloud.channel.v1.IAdminUser} message AdminUser message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdminUser.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.email != null && Object.hasOwnProperty.call(message, "email"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.email);
+ if (message.givenName != null && Object.hasOwnProperty.call(message, "givenName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.givenName);
+ if (message.familyName != null && Object.hasOwnProperty.call(message, "familyName"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.familyName);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AdminUser message, length delimited. Does not implicitly {@link google.cloud.channel.v1.AdminUser.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {google.cloud.channel.v1.IAdminUser} message AdminUser message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AdminUser.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AdminUser message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.AdminUser} AdminUser
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdminUser.decode = function 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.channel.v1.AdminUser();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.email = reader.string();
+ break;
+ }
+ case 2: {
+ message.givenName = reader.string();
+ break;
+ }
+ case 3: {
+ message.familyName = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AdminUser message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.AdminUser} AdminUser
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AdminUser.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AdminUser message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AdminUser.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.email != null && message.hasOwnProperty("email"))
+ if (!$util.isString(message.email))
+ return "email: string expected";
+ if (message.givenName != null && message.hasOwnProperty("givenName"))
+ if (!$util.isString(message.givenName))
+ return "givenName: string expected";
+ if (message.familyName != null && message.hasOwnProperty("familyName"))
+ if (!$util.isString(message.familyName))
+ return "familyName: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AdminUser message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.AdminUser} AdminUser
+ */
+ AdminUser.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.AdminUser)
+ return object;
+ var message = new $root.google.cloud.channel.v1.AdminUser();
+ if (object.email != null)
+ message.email = String(object.email);
+ if (object.givenName != null)
+ message.givenName = String(object.givenName);
+ if (object.familyName != null)
+ message.familyName = String(object.familyName);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AdminUser message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {google.cloud.channel.v1.AdminUser} message AdminUser
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AdminUser.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.email = "";
+ object.givenName = "";
+ object.familyName = "";
+ }
+ if (message.email != null && message.hasOwnProperty("email"))
+ object.email = message.email;
+ if (message.givenName != null && message.hasOwnProperty("givenName"))
+ object.givenName = message.givenName;
+ if (message.familyName != null && message.hasOwnProperty("familyName"))
+ object.familyName = message.familyName;
+ return object;
+ };
+
+ /**
+ * Converts this AdminUser to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AdminUser.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AdminUser
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.AdminUser
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AdminUser.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.AdminUser";
+ };
+
+ return AdminUser;
+ })();
+
+ v1.Customer = (function() {
+
+ /**
+ * Properties of a Customer.
+ * @memberof google.cloud.channel.v1
+ * @interface ICustomer
+ * @property {string|null} [name] Customer name
+ * @property {string|null} [orgDisplayName] Customer orgDisplayName
+ * @property {google.type.IPostalAddress|null} [orgPostalAddress] Customer orgPostalAddress
+ * @property {google.cloud.channel.v1.IContactInfo|null} [primaryContactInfo] Customer primaryContactInfo
+ * @property {string|null} [alternateEmail] Customer alternateEmail
+ * @property {string|null} [domain] Customer domain
+ * @property {google.protobuf.ITimestamp|null} [createTime] Customer createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Customer updateTime
+ * @property {string|null} [cloudIdentityId] Customer cloudIdentityId
+ * @property {string|null} [languageCode] Customer languageCode
+ * @property {google.cloud.channel.v1.ICloudIdentityInfo|null} [cloudIdentityInfo] Customer cloudIdentityInfo
+ * @property {string|null} [channelPartnerId] Customer channelPartnerId
+ */
+
+ /**
+ * Constructs a new Customer.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Customer.
+ * @implements ICustomer
+ * @constructor
+ * @param {google.cloud.channel.v1.ICustomer=} [properties] Properties to set
+ */
+ function Customer(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]];
+ }
+
+ /**
+ * Customer name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.name = "";
+
+ /**
+ * Customer orgDisplayName.
+ * @member {string} orgDisplayName
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.orgDisplayName = "";
+
+ /**
+ * Customer orgPostalAddress.
+ * @member {google.type.IPostalAddress|null|undefined} orgPostalAddress
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.orgPostalAddress = null;
+
+ /**
+ * Customer primaryContactInfo.
+ * @member {google.cloud.channel.v1.IContactInfo|null|undefined} primaryContactInfo
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.primaryContactInfo = null;
+
+ /**
+ * Customer alternateEmail.
+ * @member {string} alternateEmail
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.alternateEmail = "";
+
+ /**
+ * Customer domain.
+ * @member {string} domain
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.domain = "";
+
+ /**
+ * Customer createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.createTime = null;
+
+ /**
+ * Customer updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.updateTime = null;
+
+ /**
+ * Customer cloudIdentityId.
+ * @member {string} cloudIdentityId
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.cloudIdentityId = "";
+
+ /**
+ * Customer languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.languageCode = "";
+
+ /**
+ * Customer cloudIdentityInfo.
+ * @member {google.cloud.channel.v1.ICloudIdentityInfo|null|undefined} cloudIdentityInfo
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.cloudIdentityInfo = null;
+
+ /**
+ * Customer channelPartnerId.
+ * @member {string} channelPartnerId
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ */
+ Customer.prototype.channelPartnerId = "";
+
+ /**
+ * Creates a new Customer instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {google.cloud.channel.v1.ICustomer=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Customer} Customer instance
+ */
+ Customer.create = function create(properties) {
+ return new Customer(properties);
+ };
+
+ /**
+ * Encodes the specified Customer message. Does not implicitly {@link google.cloud.channel.v1.Customer.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {google.cloud.channel.v1.ICustomer} message Customer message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Customer.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.orgDisplayName != null && Object.hasOwnProperty.call(message, "orgDisplayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.orgDisplayName);
+ if (message.orgPostalAddress != null && Object.hasOwnProperty.call(message, "orgPostalAddress"))
+ $root.google.type.PostalAddress.encode(message.orgPostalAddress, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.primaryContactInfo != null && Object.hasOwnProperty.call(message, "primaryContactInfo"))
+ $root.google.cloud.channel.v1.ContactInfo.encode(message.primaryContactInfo, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.alternateEmail != null && Object.hasOwnProperty.call(message, "alternateEmail"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.alternateEmail);
+ if (message.domain != null && Object.hasOwnProperty.call(message, "domain"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.domain);
+ if (message.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.cloudIdentityId != null && Object.hasOwnProperty.call(message, "cloudIdentityId"))
+ writer.uint32(/* id 9, wireType 2 =*/74).string(message.cloudIdentityId);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 10, wireType 2 =*/82).string(message.languageCode);
+ if (message.cloudIdentityInfo != null && Object.hasOwnProperty.call(message, "cloudIdentityInfo"))
+ $root.google.cloud.channel.v1.CloudIdentityInfo.encode(message.cloudIdentityInfo, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.channelPartnerId != null && Object.hasOwnProperty.call(message, "channelPartnerId"))
+ writer.uint32(/* id 13, wireType 2 =*/106).string(message.channelPartnerId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Customer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Customer.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {google.cloud.channel.v1.ICustomer} message Customer message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Customer.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Customer message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Customer} Customer
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Customer.decode = function 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.channel.v1.Customer();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.orgDisplayName = reader.string();
+ break;
+ }
+ case 3: {
+ message.orgPostalAddress = $root.google.type.PostalAddress.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.primaryContactInfo = $root.google.cloud.channel.v1.ContactInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.alternateEmail = reader.string();
+ break;
+ }
+ case 6: {
+ message.domain = reader.string();
+ break;
+ }
+ case 7: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ message.cloudIdentityId = reader.string();
+ break;
+ }
+ case 10: {
+ message.languageCode = reader.string();
+ break;
+ }
+ case 12: {
+ message.cloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.channelPartnerId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Customer message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Customer} Customer
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Customer.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Customer message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Customer.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.orgDisplayName != null && message.hasOwnProperty("orgDisplayName"))
+ if (!$util.isString(message.orgDisplayName))
+ return "orgDisplayName: string expected";
+ if (message.orgPostalAddress != null && message.hasOwnProperty("orgPostalAddress")) {
+ var error = $root.google.type.PostalAddress.verify(message.orgPostalAddress);
+ if (error)
+ return "orgPostalAddress." + error;
+ }
+ if (message.primaryContactInfo != null && message.hasOwnProperty("primaryContactInfo")) {
+ var error = $root.google.cloud.channel.v1.ContactInfo.verify(message.primaryContactInfo);
+ if (error)
+ return "primaryContactInfo." + error;
+ }
+ if (message.alternateEmail != null && message.hasOwnProperty("alternateEmail"))
+ if (!$util.isString(message.alternateEmail))
+ return "alternateEmail: string expected";
+ if (message.domain != null && message.hasOwnProperty("domain"))
+ if (!$util.isString(message.domain))
+ return "domain: 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.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.cloudIdentityId != null && message.hasOwnProperty("cloudIdentityId"))
+ if (!$util.isString(message.cloudIdentityId))
+ return "cloudIdentityId: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ if (message.cloudIdentityInfo != null && message.hasOwnProperty("cloudIdentityInfo")) {
+ var error = $root.google.cloud.channel.v1.CloudIdentityInfo.verify(message.cloudIdentityInfo);
+ if (error)
+ return "cloudIdentityInfo." + error;
+ }
+ if (message.channelPartnerId != null && message.hasOwnProperty("channelPartnerId"))
+ if (!$util.isString(message.channelPartnerId))
+ return "channelPartnerId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Customer message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Customer} Customer
+ */
+ Customer.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Customer)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Customer();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.orgDisplayName != null)
+ message.orgDisplayName = String(object.orgDisplayName);
+ if (object.orgPostalAddress != null) {
+ if (typeof object.orgPostalAddress !== "object")
+ throw TypeError(".google.cloud.channel.v1.Customer.orgPostalAddress: object expected");
+ message.orgPostalAddress = $root.google.type.PostalAddress.fromObject(object.orgPostalAddress);
+ }
+ if (object.primaryContactInfo != null) {
+ if (typeof object.primaryContactInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Customer.primaryContactInfo: object expected");
+ message.primaryContactInfo = $root.google.cloud.channel.v1.ContactInfo.fromObject(object.primaryContactInfo);
+ }
+ if (object.alternateEmail != null)
+ message.alternateEmail = String(object.alternateEmail);
+ if (object.domain != null)
+ message.domain = String(object.domain);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Customer.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Customer.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.cloudIdentityId != null)
+ message.cloudIdentityId = String(object.cloudIdentityId);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ if (object.cloudIdentityInfo != null) {
+ if (typeof object.cloudIdentityInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Customer.cloudIdentityInfo: object expected");
+ message.cloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.fromObject(object.cloudIdentityInfo);
+ }
+ if (object.channelPartnerId != null)
+ message.channelPartnerId = String(object.channelPartnerId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Customer message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {google.cloud.channel.v1.Customer} message Customer
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Customer.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.orgDisplayName = "";
+ object.orgPostalAddress = null;
+ object.primaryContactInfo = null;
+ object.alternateEmail = "";
+ object.domain = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.cloudIdentityId = "";
+ object.languageCode = "";
+ object.cloudIdentityInfo = null;
+ object.channelPartnerId = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.orgDisplayName != null && message.hasOwnProperty("orgDisplayName"))
+ object.orgDisplayName = message.orgDisplayName;
+ if (message.orgPostalAddress != null && message.hasOwnProperty("orgPostalAddress"))
+ object.orgPostalAddress = $root.google.type.PostalAddress.toObject(message.orgPostalAddress, options);
+ if (message.primaryContactInfo != null && message.hasOwnProperty("primaryContactInfo"))
+ object.primaryContactInfo = $root.google.cloud.channel.v1.ContactInfo.toObject(message.primaryContactInfo, options);
+ if (message.alternateEmail != null && message.hasOwnProperty("alternateEmail"))
+ object.alternateEmail = message.alternateEmail;
+ if (message.domain != null && message.hasOwnProperty("domain"))
+ object.domain = message.domain;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.cloudIdentityId != null && message.hasOwnProperty("cloudIdentityId"))
+ object.cloudIdentityId = message.cloudIdentityId;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ if (message.cloudIdentityInfo != null && message.hasOwnProperty("cloudIdentityInfo"))
+ object.cloudIdentityInfo = $root.google.cloud.channel.v1.CloudIdentityInfo.toObject(message.cloudIdentityInfo, options);
+ if (message.channelPartnerId != null && message.hasOwnProperty("channelPartnerId"))
+ object.channelPartnerId = message.channelPartnerId;
+ return object;
+ };
+
+ /**
+ * Converts this Customer to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Customer
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Customer.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Customer
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Customer
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Customer.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Customer";
+ };
+
+ return Customer;
+ })();
+
+ v1.ContactInfo = (function() {
+
+ /**
+ * Properties of a ContactInfo.
+ * @memberof google.cloud.channel.v1
+ * @interface IContactInfo
+ * @property {string|null} [firstName] ContactInfo firstName
+ * @property {string|null} [lastName] ContactInfo lastName
+ * @property {string|null} [displayName] ContactInfo displayName
+ * @property {string|null} [email] ContactInfo email
+ * @property {string|null} [title] ContactInfo title
+ * @property {string|null} [phone] ContactInfo phone
+ */
+
+ /**
+ * Constructs a new ContactInfo.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ContactInfo.
+ * @implements IContactInfo
+ * @constructor
+ * @param {google.cloud.channel.v1.IContactInfo=} [properties] Properties to set
+ */
+ function ContactInfo(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]];
+ }
+
+ /**
+ * ContactInfo firstName.
+ * @member {string} firstName
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.firstName = "";
+
+ /**
+ * ContactInfo lastName.
+ * @member {string} lastName
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.lastName = "";
+
+ /**
+ * ContactInfo displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.displayName = "";
+
+ /**
+ * ContactInfo email.
+ * @member {string} email
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.email = "";
+
+ /**
+ * ContactInfo title.
+ * @member {string} title
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.title = "";
+
+ /**
+ * ContactInfo phone.
+ * @member {string} phone
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ */
+ ContactInfo.prototype.phone = "";
+
+ /**
+ * Creates a new ContactInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {google.cloud.channel.v1.IContactInfo=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ContactInfo} ContactInfo instance
+ */
+ ContactInfo.create = function create(properties) {
+ return new ContactInfo(properties);
+ };
+
+ /**
+ * Encodes the specified ContactInfo message. Does not implicitly {@link google.cloud.channel.v1.ContactInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {google.cloud.channel.v1.IContactInfo} message ContactInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContactInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.firstName != null && Object.hasOwnProperty.call(message, "firstName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.firstName);
+ if (message.lastName != null && Object.hasOwnProperty.call(message, "lastName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.lastName);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.displayName);
+ if (message.email != null && Object.hasOwnProperty.call(message, "email"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.email);
+ if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+ writer.uint32(/* id 6, wireType 2 =*/50).string(message.title);
+ if (message.phone != null && Object.hasOwnProperty.call(message, "phone"))
+ writer.uint32(/* id 7, wireType 2 =*/58).string(message.phone);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ContactInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ContactInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {google.cloud.channel.v1.IContactInfo} message ContactInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ContactInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ContactInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ContactInfo} ContactInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContactInfo.decode = function 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.channel.v1.ContactInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.firstName = reader.string();
+ break;
+ }
+ case 2: {
+ message.lastName = reader.string();
+ break;
+ }
+ case 4: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 5: {
+ message.email = reader.string();
+ break;
+ }
+ case 6: {
+ message.title = reader.string();
+ break;
+ }
+ case 7: {
+ message.phone = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ContactInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ContactInfo} ContactInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ContactInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ContactInfo message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ContactInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.firstName != null && message.hasOwnProperty("firstName"))
+ if (!$util.isString(message.firstName))
+ return "firstName: string expected";
+ if (message.lastName != null && message.hasOwnProperty("lastName"))
+ if (!$util.isString(message.lastName))
+ return "lastName: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.email != null && message.hasOwnProperty("email"))
+ if (!$util.isString(message.email))
+ return "email: string expected";
+ if (message.title != null && message.hasOwnProperty("title"))
+ if (!$util.isString(message.title))
+ return "title: string expected";
+ if (message.phone != null && message.hasOwnProperty("phone"))
+ if (!$util.isString(message.phone))
+ return "phone: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ContactInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ContactInfo} ContactInfo
+ */
+ ContactInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ContactInfo)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ContactInfo();
+ if (object.firstName != null)
+ message.firstName = String(object.firstName);
+ if (object.lastName != null)
+ message.lastName = String(object.lastName);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.email != null)
+ message.email = String(object.email);
+ if (object.title != null)
+ message.title = String(object.title);
+ if (object.phone != null)
+ message.phone = String(object.phone);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ContactInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {google.cloud.channel.v1.ContactInfo} message ContactInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ContactInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.firstName = "";
+ object.lastName = "";
+ object.displayName = "";
+ object.email = "";
+ object.title = "";
+ object.phone = "";
+ }
+ if (message.firstName != null && message.hasOwnProperty("firstName"))
+ object.firstName = message.firstName;
+ if (message.lastName != null && message.hasOwnProperty("lastName"))
+ object.lastName = message.lastName;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.email != null && message.hasOwnProperty("email"))
+ object.email = message.email;
+ if (message.title != null && message.hasOwnProperty("title"))
+ object.title = message.title;
+ if (message.phone != null && message.hasOwnProperty("phone"))
+ object.phone = message.phone;
+ return object;
+ };
+
+ /**
+ * Converts this ContactInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ContactInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ContactInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ContactInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ContactInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ContactInfo";
+ };
+
+ return ContactInfo;
+ })();
+
+ v1.Entitlement = (function() {
+
+ /**
+ * Properties of an Entitlement.
+ * @memberof google.cloud.channel.v1
+ * @interface IEntitlement
+ * @property {string|null} [name] Entitlement name
+ * @property {google.protobuf.ITimestamp|null} [createTime] Entitlement createTime
+ * @property {google.protobuf.ITimestamp|null} [updateTime] Entitlement updateTime
+ * @property {string|null} [offer] Entitlement offer
+ * @property {google.cloud.channel.v1.ICommitmentSettings|null} [commitmentSettings] Entitlement commitmentSettings
+ * @property {google.cloud.channel.v1.Entitlement.ProvisioningState|null} [provisioningState] Entitlement provisioningState
+ * @property {google.cloud.channel.v1.IProvisionedService|null} [provisionedService] Entitlement provisionedService
+ * @property {Array.|null} [suspensionReasons] Entitlement suspensionReasons
+ * @property {string|null} [purchaseOrderId] Entitlement purchaseOrderId
+ * @property {google.cloud.channel.v1.ITrialSettings|null} [trialSettings] Entitlement trialSettings
+ * @property {google.cloud.channel.v1.IAssociationInfo|null} [associationInfo] Entitlement associationInfo
+ * @property {Array.|null} [parameters] Entitlement parameters
+ */
+
+ /**
+ * Constructs a new Entitlement.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an Entitlement.
+ * @implements IEntitlement
+ * @constructor
+ * @param {google.cloud.channel.v1.IEntitlement=} [properties] Properties to set
+ */
+ function Entitlement(properties) {
+ this.suspensionReasons = [];
+ this.parameters = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Entitlement name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.name = "";
+
+ /**
+ * Entitlement createTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} createTime
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.createTime = null;
+
+ /**
+ * Entitlement updateTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} updateTime
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.updateTime = null;
+
+ /**
+ * Entitlement offer.
+ * @member {string} offer
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.offer = "";
+
+ /**
+ * Entitlement commitmentSettings.
+ * @member {google.cloud.channel.v1.ICommitmentSettings|null|undefined} commitmentSettings
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.commitmentSettings = null;
+
+ /**
+ * Entitlement provisioningState.
+ * @member {google.cloud.channel.v1.Entitlement.ProvisioningState} provisioningState
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.provisioningState = 0;
+
+ /**
+ * Entitlement provisionedService.
+ * @member {google.cloud.channel.v1.IProvisionedService|null|undefined} provisionedService
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.provisionedService = null;
+
+ /**
+ * Entitlement suspensionReasons.
+ * @member {Array.} suspensionReasons
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.suspensionReasons = $util.emptyArray;
+
+ /**
+ * Entitlement purchaseOrderId.
+ * @member {string} purchaseOrderId
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.purchaseOrderId = "";
+
+ /**
+ * Entitlement trialSettings.
+ * @member {google.cloud.channel.v1.ITrialSettings|null|undefined} trialSettings
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.trialSettings = null;
+
+ /**
+ * Entitlement associationInfo.
+ * @member {google.cloud.channel.v1.IAssociationInfo|null|undefined} associationInfo
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.associationInfo = null;
+
+ /**
+ * Entitlement parameters.
+ * @member {Array.} parameters
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ */
+ Entitlement.prototype.parameters = $util.emptyArray;
+
+ /**
+ * Creates a new Entitlement instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {google.cloud.channel.v1.IEntitlement=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Entitlement} Entitlement instance
+ */
+ Entitlement.create = function create(properties) {
+ return new Entitlement(properties);
+ };
+
+ /**
+ * Encodes the specified Entitlement message. Does not implicitly {@link google.cloud.channel.v1.Entitlement.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {google.cloud.channel.v1.IEntitlement} message Entitlement message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entitlement.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.createTime != null && Object.hasOwnProperty.call(message, "createTime"))
+ $root.google.protobuf.Timestamp.encode(message.createTime, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.updateTime != null && Object.hasOwnProperty.call(message, "updateTime"))
+ $root.google.protobuf.Timestamp.encode(message.updateTime, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.offer != null && Object.hasOwnProperty.call(message, "offer"))
+ writer.uint32(/* id 8, wireType 2 =*/66).string(message.offer);
+ if (message.commitmentSettings != null && Object.hasOwnProperty.call(message, "commitmentSettings"))
+ $root.google.cloud.channel.v1.CommitmentSettings.encode(message.commitmentSettings, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ if (message.provisioningState != null && Object.hasOwnProperty.call(message, "provisioningState"))
+ writer.uint32(/* id 13, wireType 0 =*/104).int32(message.provisioningState);
+ if (message.provisionedService != null && Object.hasOwnProperty.call(message, "provisionedService"))
+ $root.google.cloud.channel.v1.ProvisionedService.encode(message.provisionedService, writer.uint32(/* id 16, wireType 2 =*/130).fork()).ldelim();
+ if (message.suspensionReasons != null && message.suspensionReasons.length) {
+ writer.uint32(/* id 18, wireType 2 =*/146).fork();
+ for (var i = 0; i < message.suspensionReasons.length; ++i)
+ writer.int32(message.suspensionReasons[i]);
+ writer.ldelim();
+ }
+ if (message.purchaseOrderId != null && Object.hasOwnProperty.call(message, "purchaseOrderId"))
+ writer.uint32(/* id 19, wireType 2 =*/154).string(message.purchaseOrderId);
+ if (message.trialSettings != null && Object.hasOwnProperty.call(message, "trialSettings"))
+ $root.google.cloud.channel.v1.TrialSettings.encode(message.trialSettings, writer.uint32(/* id 21, wireType 2 =*/170).fork()).ldelim();
+ if (message.associationInfo != null && Object.hasOwnProperty.call(message, "associationInfo"))
+ $root.google.cloud.channel.v1.AssociationInfo.encode(message.associationInfo, writer.uint32(/* id 23, wireType 2 =*/186).fork()).ldelim();
+ if (message.parameters != null && message.parameters.length)
+ for (var i = 0; i < message.parameters.length; ++i)
+ $root.google.cloud.channel.v1.Parameter.encode(message.parameters[i], writer.uint32(/* id 26, wireType 2 =*/210).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Entitlement message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Entitlement.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {google.cloud.channel.v1.IEntitlement} message Entitlement message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Entitlement.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Entitlement message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Entitlement} Entitlement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entitlement.decode = function 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.channel.v1.Entitlement();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 5: {
+ message.createTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.updateTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.offer = reader.string();
+ break;
+ }
+ case 12: {
+ message.commitmentSettings = $root.google.cloud.channel.v1.CommitmentSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 13: {
+ message.provisioningState = reader.int32();
+ break;
+ }
+ case 16: {
+ message.provisionedService = $root.google.cloud.channel.v1.ProvisionedService.decode(reader, reader.uint32());
+ break;
+ }
+ case 18: {
+ if (!(message.suspensionReasons && message.suspensionReasons.length))
+ message.suspensionReasons = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.suspensionReasons.push(reader.int32());
+ } else
+ message.suspensionReasons.push(reader.int32());
+ break;
+ }
+ case 19: {
+ message.purchaseOrderId = reader.string();
+ break;
+ }
+ case 21: {
+ message.trialSettings = $root.google.cloud.channel.v1.TrialSettings.decode(reader, reader.uint32());
+ break;
+ }
+ case 23: {
+ message.associationInfo = $root.google.cloud.channel.v1.AssociationInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 26: {
+ if (!(message.parameters && message.parameters.length))
+ message.parameters = [];
+ message.parameters.push($root.google.cloud.channel.v1.Parameter.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Entitlement message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Entitlement} Entitlement
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Entitlement.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Entitlement message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Entitlement.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.createTime != null && message.hasOwnProperty("createTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.createTime);
+ if (error)
+ return "createTime." + error;
+ }
+ if (message.updateTime != null && message.hasOwnProperty("updateTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.updateTime);
+ if (error)
+ return "updateTime." + error;
+ }
+ if (message.offer != null && message.hasOwnProperty("offer"))
+ if (!$util.isString(message.offer))
+ return "offer: string expected";
+ if (message.commitmentSettings != null && message.hasOwnProperty("commitmentSettings")) {
+ var error = $root.google.cloud.channel.v1.CommitmentSettings.verify(message.commitmentSettings);
+ if (error)
+ return "commitmentSettings." + error;
+ }
+ if (message.provisioningState != null && message.hasOwnProperty("provisioningState"))
+ switch (message.provisioningState) {
+ default:
+ return "provisioningState: enum value expected";
+ case 0:
+ case 1:
+ case 5:
+ break;
+ }
+ if (message.provisionedService != null && message.hasOwnProperty("provisionedService")) {
+ var error = $root.google.cloud.channel.v1.ProvisionedService.verify(message.provisionedService);
+ if (error)
+ return "provisionedService." + error;
+ }
+ if (message.suspensionReasons != null && message.hasOwnProperty("suspensionReasons")) {
+ if (!Array.isArray(message.suspensionReasons))
+ return "suspensionReasons: array expected";
+ for (var i = 0; i < message.suspensionReasons.length; ++i)
+ switch (message.suspensionReasons[i]) {
+ default:
+ return "suspensionReasons: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 100:
+ break;
+ }
+ }
+ if (message.purchaseOrderId != null && message.hasOwnProperty("purchaseOrderId"))
+ if (!$util.isString(message.purchaseOrderId))
+ return "purchaseOrderId: string expected";
+ if (message.trialSettings != null && message.hasOwnProperty("trialSettings")) {
+ var error = $root.google.cloud.channel.v1.TrialSettings.verify(message.trialSettings);
+ if (error)
+ return "trialSettings." + error;
+ }
+ if (message.associationInfo != null && message.hasOwnProperty("associationInfo")) {
+ var error = $root.google.cloud.channel.v1.AssociationInfo.verify(message.associationInfo);
+ if (error)
+ return "associationInfo." + error;
+ }
+ if (message.parameters != null && message.hasOwnProperty("parameters")) {
+ if (!Array.isArray(message.parameters))
+ return "parameters: array expected";
+ for (var i = 0; i < message.parameters.length; ++i) {
+ var error = $root.google.cloud.channel.v1.Parameter.verify(message.parameters[i]);
+ if (error)
+ return "parameters." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates an Entitlement message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Entitlement} Entitlement
+ */
+ Entitlement.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Entitlement)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Entitlement();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.createTime != null) {
+ if (typeof object.createTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.createTime: object expected");
+ message.createTime = $root.google.protobuf.Timestamp.fromObject(object.createTime);
+ }
+ if (object.updateTime != null) {
+ if (typeof object.updateTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.updateTime: object expected");
+ message.updateTime = $root.google.protobuf.Timestamp.fromObject(object.updateTime);
+ }
+ if (object.offer != null)
+ message.offer = String(object.offer);
+ if (object.commitmentSettings != null) {
+ if (typeof object.commitmentSettings !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.commitmentSettings: object expected");
+ message.commitmentSettings = $root.google.cloud.channel.v1.CommitmentSettings.fromObject(object.commitmentSettings);
+ }
+ switch (object.provisioningState) {
+ default:
+ if (typeof object.provisioningState === "number") {
+ message.provisioningState = object.provisioningState;
+ break;
+ }
+ break;
+ case "PROVISIONING_STATE_UNSPECIFIED":
+ case 0:
+ message.provisioningState = 0;
+ break;
+ case "ACTIVE":
+ case 1:
+ message.provisioningState = 1;
+ break;
+ case "SUSPENDED":
+ case 5:
+ message.provisioningState = 5;
+ break;
+ }
+ if (object.provisionedService != null) {
+ if (typeof object.provisionedService !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.provisionedService: object expected");
+ message.provisionedService = $root.google.cloud.channel.v1.ProvisionedService.fromObject(object.provisionedService);
+ }
+ if (object.suspensionReasons) {
+ if (!Array.isArray(object.suspensionReasons))
+ throw TypeError(".google.cloud.channel.v1.Entitlement.suspensionReasons: array expected");
+ message.suspensionReasons = [];
+ for (var i = 0; i < object.suspensionReasons.length; ++i)
+ switch (object.suspensionReasons[i]) {
+ default:
+ if (typeof object.suspensionReasons[i] === "number") {
+ message.suspensionReasons[i] = object.suspensionReasons[i];
+ break;
+ }
+ case "SUSPENSION_REASON_UNSPECIFIED":
+ case 0:
+ message.suspensionReasons[i] = 0;
+ break;
+ case "RESELLER_INITIATED":
+ case 1:
+ message.suspensionReasons[i] = 1;
+ break;
+ case "TRIAL_ENDED":
+ case 2:
+ message.suspensionReasons[i] = 2;
+ break;
+ case "RENEWAL_WITH_TYPE_CANCEL":
+ case 3:
+ message.suspensionReasons[i] = 3;
+ break;
+ case "PENDING_TOS_ACCEPTANCE":
+ case 4:
+ message.suspensionReasons[i] = 4;
+ break;
+ case "OTHER":
+ case 100:
+ message.suspensionReasons[i] = 100;
+ break;
+ }
+ }
+ if (object.purchaseOrderId != null)
+ message.purchaseOrderId = String(object.purchaseOrderId);
+ if (object.trialSettings != null) {
+ if (typeof object.trialSettings !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.trialSettings: object expected");
+ message.trialSettings = $root.google.cloud.channel.v1.TrialSettings.fromObject(object.trialSettings);
+ }
+ if (object.associationInfo != null) {
+ if (typeof object.associationInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.associationInfo: object expected");
+ message.associationInfo = $root.google.cloud.channel.v1.AssociationInfo.fromObject(object.associationInfo);
+ }
+ if (object.parameters) {
+ if (!Array.isArray(object.parameters))
+ throw TypeError(".google.cloud.channel.v1.Entitlement.parameters: array expected");
+ message.parameters = [];
+ for (var i = 0; i < object.parameters.length; ++i) {
+ if (typeof object.parameters[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.Entitlement.parameters: object expected");
+ message.parameters[i] = $root.google.cloud.channel.v1.Parameter.fromObject(object.parameters[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Entitlement message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {google.cloud.channel.v1.Entitlement} message Entitlement
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Entitlement.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.suspensionReasons = [];
+ object.parameters = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.createTime = null;
+ object.updateTime = null;
+ object.offer = "";
+ object.commitmentSettings = null;
+ object.provisioningState = options.enums === String ? "PROVISIONING_STATE_UNSPECIFIED" : 0;
+ object.provisionedService = null;
+ object.purchaseOrderId = "";
+ object.trialSettings = null;
+ object.associationInfo = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.createTime != null && message.hasOwnProperty("createTime"))
+ object.createTime = $root.google.protobuf.Timestamp.toObject(message.createTime, options);
+ if (message.updateTime != null && message.hasOwnProperty("updateTime"))
+ object.updateTime = $root.google.protobuf.Timestamp.toObject(message.updateTime, options);
+ if (message.offer != null && message.hasOwnProperty("offer"))
+ object.offer = message.offer;
+ if (message.commitmentSettings != null && message.hasOwnProperty("commitmentSettings"))
+ object.commitmentSettings = $root.google.cloud.channel.v1.CommitmentSettings.toObject(message.commitmentSettings, options);
+ if (message.provisioningState != null && message.hasOwnProperty("provisioningState"))
+ object.provisioningState = options.enums === String ? $root.google.cloud.channel.v1.Entitlement.ProvisioningState[message.provisioningState] === undefined ? message.provisioningState : $root.google.cloud.channel.v1.Entitlement.ProvisioningState[message.provisioningState] : message.provisioningState;
+ if (message.provisionedService != null && message.hasOwnProperty("provisionedService"))
+ object.provisionedService = $root.google.cloud.channel.v1.ProvisionedService.toObject(message.provisionedService, options);
+ if (message.suspensionReasons && message.suspensionReasons.length) {
+ object.suspensionReasons = [];
+ for (var j = 0; j < message.suspensionReasons.length; ++j)
+ object.suspensionReasons[j] = options.enums === String ? $root.google.cloud.channel.v1.Entitlement.SuspensionReason[message.suspensionReasons[j]] === undefined ? message.suspensionReasons[j] : $root.google.cloud.channel.v1.Entitlement.SuspensionReason[message.suspensionReasons[j]] : message.suspensionReasons[j];
+ }
+ if (message.purchaseOrderId != null && message.hasOwnProperty("purchaseOrderId"))
+ object.purchaseOrderId = message.purchaseOrderId;
+ if (message.trialSettings != null && message.hasOwnProperty("trialSettings"))
+ object.trialSettings = $root.google.cloud.channel.v1.TrialSettings.toObject(message.trialSettings, options);
+ if (message.associationInfo != null && message.hasOwnProperty("associationInfo"))
+ object.associationInfo = $root.google.cloud.channel.v1.AssociationInfo.toObject(message.associationInfo, options);
+ if (message.parameters && message.parameters.length) {
+ object.parameters = [];
+ for (var j = 0; j < message.parameters.length; ++j)
+ object.parameters[j] = $root.google.cloud.channel.v1.Parameter.toObject(message.parameters[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Entitlement to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Entitlement.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Entitlement
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Entitlement
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Entitlement.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Entitlement";
+ };
+
+ /**
+ * ProvisioningState enum.
+ * @name google.cloud.channel.v1.Entitlement.ProvisioningState
+ * @enum {number}
+ * @property {number} PROVISIONING_STATE_UNSPECIFIED=0 PROVISIONING_STATE_UNSPECIFIED value
+ * @property {number} ACTIVE=1 ACTIVE value
+ * @property {number} SUSPENDED=5 SUSPENDED value
+ */
+ Entitlement.ProvisioningState = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PROVISIONING_STATE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "ACTIVE"] = 1;
+ values[valuesById[5] = "SUSPENDED"] = 5;
+ return values;
+ })();
+
+ /**
+ * SuspensionReason enum.
+ * @name google.cloud.channel.v1.Entitlement.SuspensionReason
+ * @enum {number}
+ * @property {number} SUSPENSION_REASON_UNSPECIFIED=0 SUSPENSION_REASON_UNSPECIFIED value
+ * @property {number} RESELLER_INITIATED=1 RESELLER_INITIATED value
+ * @property {number} TRIAL_ENDED=2 TRIAL_ENDED value
+ * @property {number} RENEWAL_WITH_TYPE_CANCEL=3 RENEWAL_WITH_TYPE_CANCEL value
+ * @property {number} PENDING_TOS_ACCEPTANCE=4 PENDING_TOS_ACCEPTANCE value
+ * @property {number} OTHER=100 OTHER value
+ */
+ Entitlement.SuspensionReason = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "SUSPENSION_REASON_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "RESELLER_INITIATED"] = 1;
+ values[valuesById[2] = "TRIAL_ENDED"] = 2;
+ values[valuesById[3] = "RENEWAL_WITH_TYPE_CANCEL"] = 3;
+ values[valuesById[4] = "PENDING_TOS_ACCEPTANCE"] = 4;
+ values[valuesById[100] = "OTHER"] = 100;
+ return values;
+ })();
+
+ return Entitlement;
+ })();
+
+ v1.Parameter = (function() {
+
+ /**
+ * Properties of a Parameter.
+ * @memberof google.cloud.channel.v1
+ * @interface IParameter
+ * @property {string|null} [name] Parameter name
+ * @property {google.cloud.channel.v1.IValue|null} [value] Parameter value
+ * @property {boolean|null} [editable] Parameter editable
+ */
+
+ /**
+ * Constructs a new Parameter.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Parameter.
+ * @implements IParameter
+ * @constructor
+ * @param {google.cloud.channel.v1.IParameter=} [properties] Properties to set
+ */
+ function Parameter(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]];
+ }
+
+ /**
+ * Parameter name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Parameter
+ * @instance
+ */
+ Parameter.prototype.name = "";
+
+ /**
+ * Parameter value.
+ * @member {google.cloud.channel.v1.IValue|null|undefined} value
+ * @memberof google.cloud.channel.v1.Parameter
+ * @instance
+ */
+ Parameter.prototype.value = null;
+
+ /**
+ * Parameter editable.
+ * @member {boolean} editable
+ * @memberof google.cloud.channel.v1.Parameter
+ * @instance
+ */
+ Parameter.prototype.editable = false;
+
+ /**
+ * Creates a new Parameter instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {google.cloud.channel.v1.IParameter=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Parameter} Parameter instance
+ */
+ Parameter.create = function create(properties) {
+ return new Parameter(properties);
+ };
+
+ /**
+ * Encodes the specified Parameter message. Does not implicitly {@link google.cloud.channel.v1.Parameter.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {google.cloud.channel.v1.IParameter} message Parameter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Parameter.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.name != null && Object.hasOwnProperty.call(message, "name"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.name);
+ if (message.value != null && Object.hasOwnProperty.call(message, "value"))
+ $root.google.cloud.channel.v1.Value.encode(message.value, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.editable != null && Object.hasOwnProperty.call(message, "editable"))
+ writer.uint32(/* id 3, wireType 0 =*/24).bool(message.editable);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Parameter message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Parameter.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {google.cloud.channel.v1.IParameter} message Parameter message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Parameter.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Parameter message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Parameter} Parameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Parameter.decode = function 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.channel.v1.Parameter();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.value = $root.google.cloud.channel.v1.Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.editable = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Parameter message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Parameter} Parameter
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Parameter.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Parameter message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Parameter.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.name != null && message.hasOwnProperty("name"))
+ if (!$util.isString(message.name))
+ return "name: string expected";
+ if (message.value != null && message.hasOwnProperty("value")) {
+ var error = $root.google.cloud.channel.v1.Value.verify(message.value);
+ if (error)
+ return "value." + error;
+ }
+ if (message.editable != null && message.hasOwnProperty("editable"))
+ if (typeof message.editable !== "boolean")
+ return "editable: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a Parameter message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Parameter} Parameter
+ */
+ Parameter.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Parameter)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Parameter();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.value != null) {
+ if (typeof object.value !== "object")
+ throw TypeError(".google.cloud.channel.v1.Parameter.value: object expected");
+ message.value = $root.google.cloud.channel.v1.Value.fromObject(object.value);
+ }
+ if (object.editable != null)
+ message.editable = Boolean(object.editable);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Parameter message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {google.cloud.channel.v1.Parameter} message Parameter
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Parameter.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.value = null;
+ object.editable = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.value != null && message.hasOwnProperty("value"))
+ object.value = $root.google.cloud.channel.v1.Value.toObject(message.value, options);
+ if (message.editable != null && message.hasOwnProperty("editable"))
+ object.editable = message.editable;
+ return object;
+ };
+
+ /**
+ * Converts this Parameter to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Parameter
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Parameter.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Parameter
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Parameter
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Parameter.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Parameter";
+ };
+
+ return Parameter;
+ })();
+
+ v1.AssociationInfo = (function() {
+
+ /**
+ * Properties of an AssociationInfo.
+ * @memberof google.cloud.channel.v1
+ * @interface IAssociationInfo
+ * @property {string|null} [baseEntitlement] AssociationInfo baseEntitlement
+ */
+
+ /**
+ * Constructs a new AssociationInfo.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an AssociationInfo.
+ * @implements IAssociationInfo
+ * @constructor
+ * @param {google.cloud.channel.v1.IAssociationInfo=} [properties] Properties to set
+ */
+ function AssociationInfo(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]];
+ }
+
+ /**
+ * AssociationInfo baseEntitlement.
+ * @member {string} baseEntitlement
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @instance
+ */
+ AssociationInfo.prototype.baseEntitlement = "";
+
+ /**
+ * Creates a new AssociationInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {google.cloud.channel.v1.IAssociationInfo=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.AssociationInfo} AssociationInfo instance
+ */
+ AssociationInfo.create = function create(properties) {
+ return new AssociationInfo(properties);
+ };
+
+ /**
+ * Encodes the specified AssociationInfo message. Does not implicitly {@link google.cloud.channel.v1.AssociationInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {google.cloud.channel.v1.IAssociationInfo} message AssociationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AssociationInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.baseEntitlement != null && Object.hasOwnProperty.call(message, "baseEntitlement"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.baseEntitlement);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified AssociationInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.AssociationInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {google.cloud.channel.v1.IAssociationInfo} message AssociationInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ AssociationInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an AssociationInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.AssociationInfo} AssociationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AssociationInfo.decode = function 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.channel.v1.AssociationInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.baseEntitlement = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an AssociationInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.AssociationInfo} AssociationInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ AssociationInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an AssociationInfo message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ AssociationInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.baseEntitlement != null && message.hasOwnProperty("baseEntitlement"))
+ if (!$util.isString(message.baseEntitlement))
+ return "baseEntitlement: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an AssociationInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.AssociationInfo} AssociationInfo
+ */
+ AssociationInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.AssociationInfo)
+ return object;
+ var message = new $root.google.cloud.channel.v1.AssociationInfo();
+ if (object.baseEntitlement != null)
+ message.baseEntitlement = String(object.baseEntitlement);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an AssociationInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {google.cloud.channel.v1.AssociationInfo} message AssociationInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ AssociationInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.baseEntitlement = "";
+ if (message.baseEntitlement != null && message.hasOwnProperty("baseEntitlement"))
+ object.baseEntitlement = message.baseEntitlement;
+ return object;
+ };
+
+ /**
+ * Converts this AssociationInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ AssociationInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for AssociationInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.AssociationInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ AssociationInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.AssociationInfo";
+ };
+
+ return AssociationInfo;
+ })();
+
+ v1.ProvisionedService = (function() {
+
+ /**
+ * Properties of a ProvisionedService.
+ * @memberof google.cloud.channel.v1
+ * @interface IProvisionedService
+ * @property {string|null} [provisioningId] ProvisionedService provisioningId
+ * @property {string|null} [productId] ProvisionedService productId
+ * @property {string|null} [skuId] ProvisionedService skuId
+ */
+
+ /**
+ * Constructs a new ProvisionedService.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ProvisionedService.
+ * @implements IProvisionedService
+ * @constructor
+ * @param {google.cloud.channel.v1.IProvisionedService=} [properties] Properties to set
+ */
+ function ProvisionedService(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]];
+ }
+
+ /**
+ * ProvisionedService provisioningId.
+ * @member {string} provisioningId
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @instance
+ */
+ ProvisionedService.prototype.provisioningId = "";
+
+ /**
+ * ProvisionedService productId.
+ * @member {string} productId
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @instance
+ */
+ ProvisionedService.prototype.productId = "";
+
+ /**
+ * ProvisionedService skuId.
+ * @member {string} skuId
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @instance
+ */
+ ProvisionedService.prototype.skuId = "";
+
+ /**
+ * Creates a new ProvisionedService instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {google.cloud.channel.v1.IProvisionedService=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ProvisionedService} ProvisionedService instance
+ */
+ ProvisionedService.create = function create(properties) {
+ return new ProvisionedService(properties);
+ };
+
+ /**
+ * Encodes the specified ProvisionedService message. Does not implicitly {@link google.cloud.channel.v1.ProvisionedService.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {google.cloud.channel.v1.IProvisionedService} message ProvisionedService message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProvisionedService.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.provisioningId != null && Object.hasOwnProperty.call(message, "provisioningId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.provisioningId);
+ if (message.productId != null && Object.hasOwnProperty.call(message, "productId"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.productId);
+ if (message.skuId != null && Object.hasOwnProperty.call(message, "skuId"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.skuId);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ProvisionedService message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ProvisionedService.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {google.cloud.channel.v1.IProvisionedService} message ProvisionedService message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ProvisionedService.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ProvisionedService message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ProvisionedService} ProvisionedService
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProvisionedService.decode = function 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.channel.v1.ProvisionedService();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.provisioningId = reader.string();
+ break;
+ }
+ case 2: {
+ message.productId = reader.string();
+ break;
+ }
+ case 3: {
+ message.skuId = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ProvisionedService message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ProvisionedService} ProvisionedService
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ProvisionedService.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ProvisionedService message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ProvisionedService.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.provisioningId != null && message.hasOwnProperty("provisioningId"))
+ if (!$util.isString(message.provisioningId))
+ return "provisioningId: string expected";
+ if (message.productId != null && message.hasOwnProperty("productId"))
+ if (!$util.isString(message.productId))
+ return "productId: string expected";
+ if (message.skuId != null && message.hasOwnProperty("skuId"))
+ if (!$util.isString(message.skuId))
+ return "skuId: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ProvisionedService message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ProvisionedService} ProvisionedService
+ */
+ ProvisionedService.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ProvisionedService)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ProvisionedService();
+ if (object.provisioningId != null)
+ message.provisioningId = String(object.provisioningId);
+ if (object.productId != null)
+ message.productId = String(object.productId);
+ if (object.skuId != null)
+ message.skuId = String(object.skuId);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ProvisionedService message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {google.cloud.channel.v1.ProvisionedService} message ProvisionedService
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ProvisionedService.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.provisioningId = "";
+ object.productId = "";
+ object.skuId = "";
+ }
+ if (message.provisioningId != null && message.hasOwnProperty("provisioningId"))
+ object.provisioningId = message.provisioningId;
+ if (message.productId != null && message.hasOwnProperty("productId"))
+ object.productId = message.productId;
+ if (message.skuId != null && message.hasOwnProperty("skuId"))
+ object.skuId = message.skuId;
+ return object;
+ };
+
+ /**
+ * Converts this ProvisionedService to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ProvisionedService.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ProvisionedService
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ProvisionedService
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ProvisionedService.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ProvisionedService";
+ };
+
+ return ProvisionedService;
+ })();
+
+ v1.CommitmentSettings = (function() {
+
+ /**
+ * Properties of a CommitmentSettings.
+ * @memberof google.cloud.channel.v1
+ * @interface ICommitmentSettings
+ * @property {google.protobuf.ITimestamp|null} [startTime] CommitmentSettings startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] CommitmentSettings endTime
+ * @property {google.cloud.channel.v1.IRenewalSettings|null} [renewalSettings] CommitmentSettings renewalSettings
+ */
+
+ /**
+ * Constructs a new CommitmentSettings.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a CommitmentSettings.
+ * @implements ICommitmentSettings
+ * @constructor
+ * @param {google.cloud.channel.v1.ICommitmentSettings=} [properties] Properties to set
+ */
+ function CommitmentSettings(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]];
+ }
+
+ /**
+ * CommitmentSettings startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @instance
+ */
+ CommitmentSettings.prototype.startTime = null;
+
+ /**
+ * CommitmentSettings endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @instance
+ */
+ CommitmentSettings.prototype.endTime = null;
+
+ /**
+ * CommitmentSettings renewalSettings.
+ * @member {google.cloud.channel.v1.IRenewalSettings|null|undefined} renewalSettings
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @instance
+ */
+ CommitmentSettings.prototype.renewalSettings = null;
+
+ /**
+ * Creates a new CommitmentSettings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {google.cloud.channel.v1.ICommitmentSettings=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.CommitmentSettings} CommitmentSettings instance
+ */
+ CommitmentSettings.create = function create(properties) {
+ return new CommitmentSettings(properties);
+ };
+
+ /**
+ * Encodes the specified CommitmentSettings message. Does not implicitly {@link google.cloud.channel.v1.CommitmentSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {google.cloud.channel.v1.ICommitmentSettings} message CommitmentSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommitmentSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, 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.renewalSettings != null && Object.hasOwnProperty.call(message, "renewalSettings"))
+ $root.google.cloud.channel.v1.RenewalSettings.encode(message.renewalSettings, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CommitmentSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CommitmentSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {google.cloud.channel.v1.ICommitmentSettings} message CommitmentSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CommitmentSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CommitmentSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.CommitmentSettings} CommitmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommitmentSettings.decode = function 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.channel.v1.CommitmentSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.renewalSettings = $root.google.cloud.channel.v1.RenewalSettings.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CommitmentSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.CommitmentSettings} CommitmentSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CommitmentSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CommitmentSettings message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CommitmentSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.renewalSettings != null && message.hasOwnProperty("renewalSettings")) {
+ var error = $root.google.cloud.channel.v1.RenewalSettings.verify(message.renewalSettings);
+ if (error)
+ return "renewalSettings." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CommitmentSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.CommitmentSettings} CommitmentSettings
+ */
+ CommitmentSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.CommitmentSettings)
+ return object;
+ var message = new $root.google.cloud.channel.v1.CommitmentSettings();
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.CommitmentSettings.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.CommitmentSettings.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.renewalSettings != null) {
+ if (typeof object.renewalSettings !== "object")
+ throw TypeError(".google.cloud.channel.v1.CommitmentSettings.renewalSettings: object expected");
+ message.renewalSettings = $root.google.cloud.channel.v1.RenewalSettings.fromObject(object.renewalSettings);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CommitmentSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {google.cloud.channel.v1.CommitmentSettings} message CommitmentSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CommitmentSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.startTime = null;
+ object.endTime = null;
+ object.renewalSettings = null;
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.renewalSettings != null && message.hasOwnProperty("renewalSettings"))
+ object.renewalSettings = $root.google.cloud.channel.v1.RenewalSettings.toObject(message.renewalSettings, options);
+ return object;
+ };
+
+ /**
+ * Converts this CommitmentSettings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CommitmentSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CommitmentSettings
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.CommitmentSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CommitmentSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.CommitmentSettings";
+ };
+
+ return CommitmentSettings;
+ })();
+
+ v1.RenewalSettings = (function() {
+
+ /**
+ * Properties of a RenewalSettings.
+ * @memberof google.cloud.channel.v1
+ * @interface IRenewalSettings
+ * @property {boolean|null} [enableRenewal] RenewalSettings enableRenewal
+ * @property {boolean|null} [resizeUnitCount] RenewalSettings resizeUnitCount
+ * @property {google.cloud.channel.v1.PaymentPlan|null} [paymentPlan] RenewalSettings paymentPlan
+ * @property {google.cloud.channel.v1.IPeriod|null} [paymentCycle] RenewalSettings paymentCycle
+ */
+
+ /**
+ * Constructs a new RenewalSettings.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a RenewalSettings.
+ * @implements IRenewalSettings
+ * @constructor
+ * @param {google.cloud.channel.v1.IRenewalSettings=} [properties] Properties to set
+ */
+ function RenewalSettings(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]];
+ }
+
+ /**
+ * RenewalSettings enableRenewal.
+ * @member {boolean} enableRenewal
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @instance
+ */
+ RenewalSettings.prototype.enableRenewal = false;
+
+ /**
+ * RenewalSettings resizeUnitCount.
+ * @member {boolean} resizeUnitCount
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @instance
+ */
+ RenewalSettings.prototype.resizeUnitCount = false;
+
+ /**
+ * RenewalSettings paymentPlan.
+ * @member {google.cloud.channel.v1.PaymentPlan} paymentPlan
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @instance
+ */
+ RenewalSettings.prototype.paymentPlan = 0;
+
+ /**
+ * RenewalSettings paymentCycle.
+ * @member {google.cloud.channel.v1.IPeriod|null|undefined} paymentCycle
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @instance
+ */
+ RenewalSettings.prototype.paymentCycle = null;
+
+ /**
+ * Creates a new RenewalSettings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {google.cloud.channel.v1.IRenewalSettings=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.RenewalSettings} RenewalSettings instance
+ */
+ RenewalSettings.create = function create(properties) {
+ return new RenewalSettings(properties);
+ };
+
+ /**
+ * Encodes the specified RenewalSettings message. Does not implicitly {@link google.cloud.channel.v1.RenewalSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {google.cloud.channel.v1.IRenewalSettings} message RenewalSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RenewalSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.enableRenewal != null && Object.hasOwnProperty.call(message, "enableRenewal"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.enableRenewal);
+ if (message.resizeUnitCount != null && Object.hasOwnProperty.call(message, "resizeUnitCount"))
+ writer.uint32(/* id 2, wireType 0 =*/16).bool(message.resizeUnitCount);
+ if (message.paymentPlan != null && Object.hasOwnProperty.call(message, "paymentPlan"))
+ writer.uint32(/* id 5, wireType 0 =*/40).int32(message.paymentPlan);
+ if (message.paymentCycle != null && Object.hasOwnProperty.call(message, "paymentCycle"))
+ $root.google.cloud.channel.v1.Period.encode(message.paymentCycle, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RenewalSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RenewalSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {google.cloud.channel.v1.IRenewalSettings} message RenewalSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RenewalSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RenewalSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.RenewalSettings} RenewalSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RenewalSettings.decode = function 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.channel.v1.RenewalSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.enableRenewal = reader.bool();
+ break;
+ }
+ case 2: {
+ message.resizeUnitCount = reader.bool();
+ break;
+ }
+ case 5: {
+ message.paymentPlan = reader.int32();
+ break;
+ }
+ case 6: {
+ message.paymentCycle = $root.google.cloud.channel.v1.Period.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RenewalSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.RenewalSettings} RenewalSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RenewalSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RenewalSettings message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RenewalSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.enableRenewal != null && message.hasOwnProperty("enableRenewal"))
+ if (typeof message.enableRenewal !== "boolean")
+ return "enableRenewal: boolean expected";
+ if (message.resizeUnitCount != null && message.hasOwnProperty("resizeUnitCount"))
+ if (typeof message.resizeUnitCount !== "boolean")
+ return "resizeUnitCount: boolean expected";
+ if (message.paymentPlan != null && message.hasOwnProperty("paymentPlan"))
+ switch (message.paymentPlan) {
+ default:
+ return "paymentPlan: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.paymentCycle != null && message.hasOwnProperty("paymentCycle")) {
+ var error = $root.google.cloud.channel.v1.Period.verify(message.paymentCycle);
+ if (error)
+ return "paymentCycle." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RenewalSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.RenewalSettings} RenewalSettings
+ */
+ RenewalSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.RenewalSettings)
+ return object;
+ var message = new $root.google.cloud.channel.v1.RenewalSettings();
+ if (object.enableRenewal != null)
+ message.enableRenewal = Boolean(object.enableRenewal);
+ if (object.resizeUnitCount != null)
+ message.resizeUnitCount = Boolean(object.resizeUnitCount);
+ switch (object.paymentPlan) {
+ default:
+ if (typeof object.paymentPlan === "number") {
+ message.paymentPlan = object.paymentPlan;
+ break;
+ }
+ break;
+ case "PAYMENT_PLAN_UNSPECIFIED":
+ case 0:
+ message.paymentPlan = 0;
+ break;
+ case "COMMITMENT":
+ case 1:
+ message.paymentPlan = 1;
+ break;
+ case "FLEXIBLE":
+ case 2:
+ message.paymentPlan = 2;
+ break;
+ case "FREE":
+ case 3:
+ message.paymentPlan = 3;
+ break;
+ case "TRIAL":
+ case 4:
+ message.paymentPlan = 4;
+ break;
+ case "OFFLINE":
+ case 5:
+ message.paymentPlan = 5;
+ break;
+ }
+ if (object.paymentCycle != null) {
+ if (typeof object.paymentCycle !== "object")
+ throw TypeError(".google.cloud.channel.v1.RenewalSettings.paymentCycle: object expected");
+ message.paymentCycle = $root.google.cloud.channel.v1.Period.fromObject(object.paymentCycle);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RenewalSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {google.cloud.channel.v1.RenewalSettings} message RenewalSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RenewalSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.enableRenewal = false;
+ object.resizeUnitCount = false;
+ object.paymentPlan = options.enums === String ? "PAYMENT_PLAN_UNSPECIFIED" : 0;
+ object.paymentCycle = null;
+ }
+ if (message.enableRenewal != null && message.hasOwnProperty("enableRenewal"))
+ object.enableRenewal = message.enableRenewal;
+ if (message.resizeUnitCount != null && message.hasOwnProperty("resizeUnitCount"))
+ object.resizeUnitCount = message.resizeUnitCount;
+ if (message.paymentPlan != null && message.hasOwnProperty("paymentPlan"))
+ object.paymentPlan = options.enums === String ? $root.google.cloud.channel.v1.PaymentPlan[message.paymentPlan] === undefined ? message.paymentPlan : $root.google.cloud.channel.v1.PaymentPlan[message.paymentPlan] : message.paymentPlan;
+ if (message.paymentCycle != null && message.hasOwnProperty("paymentCycle"))
+ object.paymentCycle = $root.google.cloud.channel.v1.Period.toObject(message.paymentCycle, options);
+ return object;
+ };
+
+ /**
+ * Converts this RenewalSettings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RenewalSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RenewalSettings
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.RenewalSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RenewalSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.RenewalSettings";
+ };
+
+ return RenewalSettings;
+ })();
+
+ v1.TrialSettings = (function() {
+
+ /**
+ * Properties of a TrialSettings.
+ * @memberof google.cloud.channel.v1
+ * @interface ITrialSettings
+ * @property {boolean|null} [trial] TrialSettings trial
+ * @property {google.protobuf.ITimestamp|null} [endTime] TrialSettings endTime
+ */
+
+ /**
+ * Constructs a new TrialSettings.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a TrialSettings.
+ * @implements ITrialSettings
+ * @constructor
+ * @param {google.cloud.channel.v1.ITrialSettings=} [properties] Properties to set
+ */
+ function TrialSettings(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]];
+ }
+
+ /**
+ * TrialSettings trial.
+ * @member {boolean} trial
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @instance
+ */
+ TrialSettings.prototype.trial = false;
+
+ /**
+ * TrialSettings endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @instance
+ */
+ TrialSettings.prototype.endTime = null;
+
+ /**
+ * Creates a new TrialSettings instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {google.cloud.channel.v1.ITrialSettings=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.TrialSettings} TrialSettings instance
+ */
+ TrialSettings.create = function create(properties) {
+ return new TrialSettings(properties);
+ };
+
+ /**
+ * Encodes the specified TrialSettings message. Does not implicitly {@link google.cloud.channel.v1.TrialSettings.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {google.cloud.channel.v1.ITrialSettings} message TrialSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TrialSettings.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.trial != null && Object.hasOwnProperty.call(message, "trial"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.trial);
+ 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();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TrialSettings message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TrialSettings.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {google.cloud.channel.v1.ITrialSettings} message TrialSettings message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TrialSettings.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TrialSettings message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.TrialSettings} TrialSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TrialSettings.decode = function 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.channel.v1.TrialSettings();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.trial = reader.bool();
+ break;
+ }
+ case 2: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TrialSettings message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.TrialSettings} TrialSettings
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TrialSettings.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TrialSettings message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TrialSettings.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.trial != null && message.hasOwnProperty("trial"))
+ if (typeof message.trial !== "boolean")
+ return "trial: boolean expected";
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TrialSettings message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.TrialSettings} TrialSettings
+ */
+ TrialSettings.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.TrialSettings)
+ return object;
+ var message = new $root.google.cloud.channel.v1.TrialSettings();
+ if (object.trial != null)
+ message.trial = Boolean(object.trial);
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.TrialSettings.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TrialSettings message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {google.cloud.channel.v1.TrialSettings} message TrialSettings
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TrialSettings.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.trial = false;
+ object.endTime = null;
+ }
+ if (message.trial != null && message.hasOwnProperty("trial"))
+ object.trial = message.trial;
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ return object;
+ };
+
+ /**
+ * Converts this TrialSettings to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TrialSettings.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TrialSettings
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.TrialSettings
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TrialSettings.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.TrialSettings";
+ };
+
+ return TrialSettings;
+ })();
+
+ v1.TransferableSku = (function() {
+
+ /**
+ * Properties of a TransferableSku.
+ * @memberof google.cloud.channel.v1
+ * @interface ITransferableSku
+ * @property {google.cloud.channel.v1.ITransferEligibility|null} [transferEligibility] TransferableSku transferEligibility
+ * @property {google.cloud.channel.v1.ISku|null} [sku] TransferableSku sku
+ * @property {google.cloud.channel.v1.ISku|null} [legacySku] TransferableSku legacySku
+ */
+
+ /**
+ * Constructs a new TransferableSku.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a TransferableSku.
+ * @implements ITransferableSku
+ * @constructor
+ * @param {google.cloud.channel.v1.ITransferableSku=} [properties] Properties to set
+ */
+ function TransferableSku(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]];
+ }
+
+ /**
+ * TransferableSku transferEligibility.
+ * @member {google.cloud.channel.v1.ITransferEligibility|null|undefined} transferEligibility
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @instance
+ */
+ TransferableSku.prototype.transferEligibility = null;
+
+ /**
+ * TransferableSku sku.
+ * @member {google.cloud.channel.v1.ISku|null|undefined} sku
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @instance
+ */
+ TransferableSku.prototype.sku = null;
+
+ /**
+ * TransferableSku legacySku.
+ * @member {google.cloud.channel.v1.ISku|null|undefined} legacySku
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @instance
+ */
+ TransferableSku.prototype.legacySku = null;
+
+ /**
+ * Creates a new TransferableSku instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {google.cloud.channel.v1.ITransferableSku=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.TransferableSku} TransferableSku instance
+ */
+ TransferableSku.create = function create(properties) {
+ return new TransferableSku(properties);
+ };
+
+ /**
+ * Encodes the specified TransferableSku message. Does not implicitly {@link google.cloud.channel.v1.TransferableSku.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {google.cloud.channel.v1.ITransferableSku} message TransferableSku message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TransferableSku.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.transferEligibility != null && Object.hasOwnProperty.call(message, "transferEligibility"))
+ $root.google.cloud.channel.v1.TransferEligibility.encode(message.transferEligibility, writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.sku != null && Object.hasOwnProperty.call(message, "sku"))
+ $root.google.cloud.channel.v1.Sku.encode(message.sku, writer.uint32(/* id 11, wireType 2 =*/90).fork()).ldelim();
+ if (message.legacySku != null && Object.hasOwnProperty.call(message, "legacySku"))
+ $root.google.cloud.channel.v1.Sku.encode(message.legacySku, writer.uint32(/* id 12, wireType 2 =*/98).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TransferableSku message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferableSku.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {google.cloud.channel.v1.ITransferableSku} message TransferableSku message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TransferableSku.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TransferableSku message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.TransferableSku} TransferableSku
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TransferableSku.decode = function 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.channel.v1.TransferableSku();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 9: {
+ message.transferEligibility = $root.google.cloud.channel.v1.TransferEligibility.decode(reader, reader.uint32());
+ break;
+ }
+ case 11: {
+ message.sku = $root.google.cloud.channel.v1.Sku.decode(reader, reader.uint32());
+ break;
+ }
+ case 12: {
+ message.legacySku = $root.google.cloud.channel.v1.Sku.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TransferableSku message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.TransferableSku} TransferableSku
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TransferableSku.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TransferableSku message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TransferableSku.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.transferEligibility != null && message.hasOwnProperty("transferEligibility")) {
+ var error = $root.google.cloud.channel.v1.TransferEligibility.verify(message.transferEligibility);
+ if (error)
+ return "transferEligibility." + error;
+ }
+ if (message.sku != null && message.hasOwnProperty("sku")) {
+ var error = $root.google.cloud.channel.v1.Sku.verify(message.sku);
+ if (error)
+ return "sku." + error;
+ }
+ if (message.legacySku != null && message.hasOwnProperty("legacySku")) {
+ var error = $root.google.cloud.channel.v1.Sku.verify(message.legacySku);
+ if (error)
+ return "legacySku." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TransferableSku message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.TransferableSku} TransferableSku
+ */
+ TransferableSku.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.TransferableSku)
+ return object;
+ var message = new $root.google.cloud.channel.v1.TransferableSku();
+ if (object.transferEligibility != null) {
+ if (typeof object.transferEligibility !== "object")
+ throw TypeError(".google.cloud.channel.v1.TransferableSku.transferEligibility: object expected");
+ message.transferEligibility = $root.google.cloud.channel.v1.TransferEligibility.fromObject(object.transferEligibility);
+ }
+ if (object.sku != null) {
+ if (typeof object.sku !== "object")
+ throw TypeError(".google.cloud.channel.v1.TransferableSku.sku: object expected");
+ message.sku = $root.google.cloud.channel.v1.Sku.fromObject(object.sku);
+ }
+ if (object.legacySku != null) {
+ if (typeof object.legacySku !== "object")
+ throw TypeError(".google.cloud.channel.v1.TransferableSku.legacySku: object expected");
+ message.legacySku = $root.google.cloud.channel.v1.Sku.fromObject(object.legacySku);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TransferableSku message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {google.cloud.channel.v1.TransferableSku} message TransferableSku
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TransferableSku.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.transferEligibility = null;
+ object.sku = null;
+ object.legacySku = null;
+ }
+ if (message.transferEligibility != null && message.hasOwnProperty("transferEligibility"))
+ object.transferEligibility = $root.google.cloud.channel.v1.TransferEligibility.toObject(message.transferEligibility, options);
+ if (message.sku != null && message.hasOwnProperty("sku"))
+ object.sku = $root.google.cloud.channel.v1.Sku.toObject(message.sku, options);
+ if (message.legacySku != null && message.hasOwnProperty("legacySku"))
+ object.legacySku = $root.google.cloud.channel.v1.Sku.toObject(message.legacySku, options);
+ return object;
+ };
+
+ /**
+ * Converts this TransferableSku to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TransferableSku.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TransferableSku
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.TransferableSku
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TransferableSku.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.TransferableSku";
+ };
+
+ return TransferableSku;
+ })();
+
+ v1.TransferEligibility = (function() {
+
+ /**
+ * Properties of a TransferEligibility.
+ * @memberof google.cloud.channel.v1
+ * @interface ITransferEligibility
+ * @property {boolean|null} [isEligible] TransferEligibility isEligible
+ * @property {string|null} [description] TransferEligibility description
+ * @property {google.cloud.channel.v1.TransferEligibility.Reason|null} [ineligibilityReason] TransferEligibility ineligibilityReason
+ */
+
+ /**
+ * Constructs a new TransferEligibility.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a TransferEligibility.
+ * @implements ITransferEligibility
+ * @constructor
+ * @param {google.cloud.channel.v1.ITransferEligibility=} [properties] Properties to set
+ */
+ function TransferEligibility(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]];
+ }
+
+ /**
+ * TransferEligibility isEligible.
+ * @member {boolean} isEligible
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @instance
+ */
+ TransferEligibility.prototype.isEligible = false;
+
+ /**
+ * TransferEligibility description.
+ * @member {string} description
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @instance
+ */
+ TransferEligibility.prototype.description = "";
+
+ /**
+ * TransferEligibility ineligibilityReason.
+ * @member {google.cloud.channel.v1.TransferEligibility.Reason} ineligibilityReason
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @instance
+ */
+ TransferEligibility.prototype.ineligibilityReason = 0;
+
+ /**
+ * Creates a new TransferEligibility instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {google.cloud.channel.v1.ITransferEligibility=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.TransferEligibility} TransferEligibility instance
+ */
+ TransferEligibility.create = function create(properties) {
+ return new TransferEligibility(properties);
+ };
+
+ /**
+ * Encodes the specified TransferEligibility message. Does not implicitly {@link google.cloud.channel.v1.TransferEligibility.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {google.cloud.channel.v1.ITransferEligibility} message TransferEligibility message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TransferEligibility.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.isEligible != null && Object.hasOwnProperty.call(message, "isEligible"))
+ writer.uint32(/* id 1, wireType 0 =*/8).bool(message.isEligible);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+ if (message.ineligibilityReason != null && Object.hasOwnProperty.call(message, "ineligibilityReason"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.ineligibilityReason);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified TransferEligibility message, length delimited. Does not implicitly {@link google.cloud.channel.v1.TransferEligibility.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {google.cloud.channel.v1.ITransferEligibility} message TransferEligibility message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ TransferEligibility.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a TransferEligibility message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.TransferEligibility} TransferEligibility
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TransferEligibility.decode = function 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.channel.v1.TransferEligibility();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.isEligible = reader.bool();
+ break;
+ }
+ case 2: {
+ message.description = reader.string();
+ break;
+ }
+ case 3: {
+ message.ineligibilityReason = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a TransferEligibility message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.TransferEligibility} TransferEligibility
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ TransferEligibility.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a TransferEligibility message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ TransferEligibility.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.isEligible != null && message.hasOwnProperty("isEligible"))
+ if (typeof message.isEligible !== "boolean")
+ return "isEligible: boolean expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.ineligibilityReason != null && message.hasOwnProperty("ineligibilityReason"))
+ switch (message.ineligibilityReason) {
+ default:
+ return "ineligibilityReason: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a TransferEligibility message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.TransferEligibility} TransferEligibility
+ */
+ TransferEligibility.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.TransferEligibility)
+ return object;
+ var message = new $root.google.cloud.channel.v1.TransferEligibility();
+ if (object.isEligible != null)
+ message.isEligible = Boolean(object.isEligible);
+ if (object.description != null)
+ message.description = String(object.description);
+ switch (object.ineligibilityReason) {
+ default:
+ if (typeof object.ineligibilityReason === "number") {
+ message.ineligibilityReason = object.ineligibilityReason;
+ break;
+ }
+ break;
+ case "REASON_UNSPECIFIED":
+ case 0:
+ message.ineligibilityReason = 0;
+ break;
+ case "PENDING_TOS_ACCEPTANCE":
+ case 1:
+ message.ineligibilityReason = 1;
+ break;
+ case "SKU_NOT_ELIGIBLE":
+ case 2:
+ message.ineligibilityReason = 2;
+ break;
+ case "SKU_SUSPENDED":
+ case 3:
+ message.ineligibilityReason = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a TransferEligibility message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {google.cloud.channel.v1.TransferEligibility} message TransferEligibility
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ TransferEligibility.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.isEligible = false;
+ object.description = "";
+ object.ineligibilityReason = options.enums === String ? "REASON_UNSPECIFIED" : 0;
+ }
+ if (message.isEligible != null && message.hasOwnProperty("isEligible"))
+ object.isEligible = message.isEligible;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.ineligibilityReason != null && message.hasOwnProperty("ineligibilityReason"))
+ object.ineligibilityReason = options.enums === String ? $root.google.cloud.channel.v1.TransferEligibility.Reason[message.ineligibilityReason] === undefined ? message.ineligibilityReason : $root.google.cloud.channel.v1.TransferEligibility.Reason[message.ineligibilityReason] : message.ineligibilityReason;
+ return object;
+ };
+
+ /**
+ * Converts this TransferEligibility to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ TransferEligibility.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for TransferEligibility
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.TransferEligibility
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ TransferEligibility.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.TransferEligibility";
+ };
+
+ /**
+ * Reason enum.
+ * @name google.cloud.channel.v1.TransferEligibility.Reason
+ * @enum {number}
+ * @property {number} REASON_UNSPECIFIED=0 REASON_UNSPECIFIED value
+ * @property {number} PENDING_TOS_ACCEPTANCE=1 PENDING_TOS_ACCEPTANCE value
+ * @property {number} SKU_NOT_ELIGIBLE=2 SKU_NOT_ELIGIBLE value
+ * @property {number} SKU_SUSPENDED=3 SKU_SUSPENDED value
+ */
+ TransferEligibility.Reason = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "REASON_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PENDING_TOS_ACCEPTANCE"] = 1;
+ values[valuesById[2] = "SKU_NOT_ELIGIBLE"] = 2;
+ values[valuesById[3] = "SKU_SUSPENDED"] = 3;
+ return values;
+ })();
+
+ return TransferEligibility;
+ })();
+
+ /**
+ * PromotionalOrderType enum.
+ * @name google.cloud.channel.v1.PromotionalOrderType
+ * @enum {number}
+ * @property {number} PROMOTIONAL_TYPE_UNSPECIFIED=0 PROMOTIONAL_TYPE_UNSPECIFIED value
+ * @property {number} NEW_UPGRADE=1 NEW_UPGRADE value
+ * @property {number} TRANSFER=2 TRANSFER value
+ * @property {number} PROMOTION_SWITCH=3 PROMOTION_SWITCH value
+ */
+ v1.PromotionalOrderType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PROMOTIONAL_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "NEW_UPGRADE"] = 1;
+ values[valuesById[2] = "TRANSFER"] = 2;
+ values[valuesById[3] = "PROMOTION_SWITCH"] = 3;
+ return values;
+ })();
+
+ /**
+ * PaymentPlan enum.
+ * @name google.cloud.channel.v1.PaymentPlan
+ * @enum {number}
+ * @property {number} PAYMENT_PLAN_UNSPECIFIED=0 PAYMENT_PLAN_UNSPECIFIED value
+ * @property {number} COMMITMENT=1 COMMITMENT value
+ * @property {number} FLEXIBLE=2 FLEXIBLE value
+ * @property {number} FREE=3 FREE value
+ * @property {number} TRIAL=4 TRIAL value
+ * @property {number} OFFLINE=5 OFFLINE value
+ */
+ v1.PaymentPlan = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PAYMENT_PLAN_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "COMMITMENT"] = 1;
+ values[valuesById[2] = "FLEXIBLE"] = 2;
+ values[valuesById[3] = "FREE"] = 3;
+ values[valuesById[4] = "TRIAL"] = 4;
+ values[valuesById[5] = "OFFLINE"] = 5;
+ return values;
+ })();
+
+ /**
+ * PaymentType enum.
+ * @name google.cloud.channel.v1.PaymentType
+ * @enum {number}
+ * @property {number} PAYMENT_TYPE_UNSPECIFIED=0 PAYMENT_TYPE_UNSPECIFIED value
+ * @property {number} PREPAY=1 PREPAY value
+ * @property {number} POSTPAY=2 POSTPAY value
+ */
+ v1.PaymentType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PAYMENT_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "PREPAY"] = 1;
+ values[valuesById[2] = "POSTPAY"] = 2;
+ return values;
+ })();
+
+ /**
+ * ResourceType enum.
+ * @name google.cloud.channel.v1.ResourceType
+ * @enum {number}
+ * @property {number} RESOURCE_TYPE_UNSPECIFIED=0 RESOURCE_TYPE_UNSPECIFIED value
+ * @property {number} SEAT=1 SEAT value
+ * @property {number} MAU=2 MAU value
+ * @property {number} GB=3 GB value
+ * @property {number} LICENSED_USER=4 LICENSED_USER value
+ * @property {number} MINUTES=5 MINUTES value
+ * @property {number} IAAS_USAGE=6 IAAS_USAGE value
+ * @property {number} SUBSCRIPTION=7 SUBSCRIPTION value
+ */
+ v1.ResourceType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "RESOURCE_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "SEAT"] = 1;
+ values[valuesById[2] = "MAU"] = 2;
+ values[valuesById[3] = "GB"] = 3;
+ values[valuesById[4] = "LICENSED_USER"] = 4;
+ values[valuesById[5] = "MINUTES"] = 5;
+ values[valuesById[6] = "IAAS_USAGE"] = 6;
+ values[valuesById[7] = "SUBSCRIPTION"] = 7;
+ return values;
+ })();
+
+ /**
+ * PeriodType enum.
+ * @name google.cloud.channel.v1.PeriodType
+ * @enum {number}
+ * @property {number} PERIOD_TYPE_UNSPECIFIED=0 PERIOD_TYPE_UNSPECIFIED value
+ * @property {number} DAY=1 DAY value
+ * @property {number} MONTH=2 MONTH value
+ * @property {number} YEAR=3 YEAR value
+ */
+ v1.PeriodType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PERIOD_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "DAY"] = 1;
+ values[valuesById[2] = "MONTH"] = 2;
+ values[valuesById[3] = "YEAR"] = 3;
+ return values;
+ })();
+
+ v1.Offer = (function() {
+
+ /**
+ * Properties of an Offer.
+ * @memberof google.cloud.channel.v1
+ * @interface IOffer
+ * @property {string|null} [name] Offer name
+ * @property {google.cloud.channel.v1.IMarketingInfo|null} [marketingInfo] Offer marketingInfo
+ * @property {google.cloud.channel.v1.ISku|null} [sku] Offer sku
+ * @property {google.cloud.channel.v1.IPlan|null} [plan] Offer plan
+ * @property {google.cloud.channel.v1.IConstraints|null} [constraints] Offer constraints
+ * @property {Array.|null} [priceByResources] Offer priceByResources
+ * @property {google.protobuf.ITimestamp|null} [startTime] Offer startTime
+ * @property {google.protobuf.ITimestamp|null} [endTime] Offer endTime
+ * @property {Array.|null} [parameterDefinitions] Offer parameterDefinitions
+ * @property {string|null} [dealCode] Offer dealCode
+ */
+
+ /**
+ * Constructs a new Offer.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an Offer.
+ * @implements IOffer
+ * @constructor
+ * @param {google.cloud.channel.v1.IOffer=} [properties] Properties to set
+ */
+ function Offer(properties) {
+ this.priceByResources = [];
+ this.parameterDefinitions = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Offer name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.name = "";
+
+ /**
+ * Offer marketingInfo.
+ * @member {google.cloud.channel.v1.IMarketingInfo|null|undefined} marketingInfo
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.marketingInfo = null;
+
+ /**
+ * Offer sku.
+ * @member {google.cloud.channel.v1.ISku|null|undefined} sku
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.sku = null;
+
+ /**
+ * Offer plan.
+ * @member {google.cloud.channel.v1.IPlan|null|undefined} plan
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.plan = null;
+
+ /**
+ * Offer constraints.
+ * @member {google.cloud.channel.v1.IConstraints|null|undefined} constraints
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.constraints = null;
+
+ /**
+ * Offer priceByResources.
+ * @member {Array.} priceByResources
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.priceByResources = $util.emptyArray;
+
+ /**
+ * Offer startTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} startTime
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.startTime = null;
+
+ /**
+ * Offer endTime.
+ * @member {google.protobuf.ITimestamp|null|undefined} endTime
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.endTime = null;
+
+ /**
+ * Offer parameterDefinitions.
+ * @member {Array.} parameterDefinitions
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.parameterDefinitions = $util.emptyArray;
+
+ /**
+ * Offer dealCode.
+ * @member {string} dealCode
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ */
+ Offer.prototype.dealCode = "";
+
+ /**
+ * Creates a new Offer instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {google.cloud.channel.v1.IOffer=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Offer} Offer instance
+ */
+ Offer.create = function create(properties) {
+ return new Offer(properties);
+ };
+
+ /**
+ * Encodes the specified Offer message. Does not implicitly {@link google.cloud.channel.v1.Offer.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {google.cloud.channel.v1.IOffer} message Offer message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Offer.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.marketingInfo != null && Object.hasOwnProperty.call(message, "marketingInfo"))
+ $root.google.cloud.channel.v1.MarketingInfo.encode(message.marketingInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.sku != null && Object.hasOwnProperty.call(message, "sku"))
+ $root.google.cloud.channel.v1.Sku.encode(message.sku, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.plan != null && Object.hasOwnProperty.call(message, "plan"))
+ $root.google.cloud.channel.v1.Plan.encode(message.plan, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.constraints != null && Object.hasOwnProperty.call(message, "constraints"))
+ $root.google.cloud.channel.v1.Constraints.encode(message.constraints, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.priceByResources != null && message.priceByResources.length)
+ for (var i = 0; i < message.priceByResources.length; ++i)
+ $root.google.cloud.channel.v1.PriceByResource.encode(message.priceByResources[i], writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ if (message.startTime != null && Object.hasOwnProperty.call(message, "startTime"))
+ $root.google.protobuf.Timestamp.encode(message.startTime, writer.uint32(/* id 7, wireType 2 =*/58).fork()).ldelim();
+ if (message.endTime != null && Object.hasOwnProperty.call(message, "endTime"))
+ $root.google.protobuf.Timestamp.encode(message.endTime, writer.uint32(/* id 8, wireType 2 =*/66).fork()).ldelim();
+ if (message.parameterDefinitions != null && message.parameterDefinitions.length)
+ for (var i = 0; i < message.parameterDefinitions.length; ++i)
+ $root.google.cloud.channel.v1.ParameterDefinition.encode(message.parameterDefinitions[i], writer.uint32(/* id 9, wireType 2 =*/74).fork()).ldelim();
+ if (message.dealCode != null && Object.hasOwnProperty.call(message, "dealCode"))
+ writer.uint32(/* id 12, wireType 2 =*/98).string(message.dealCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Offer message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Offer.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {google.cloud.channel.v1.IOffer} message Offer message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Offer.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes an Offer message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Offer} Offer
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Offer.decode = function 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.channel.v1.Offer();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.sku = $root.google.cloud.channel.v1.Sku.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.plan = $root.google.cloud.channel.v1.Plan.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.constraints = $root.google.cloud.channel.v1.Constraints.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ if (!(message.priceByResources && message.priceByResources.length))
+ message.priceByResources = [];
+ message.priceByResources.push($root.google.cloud.channel.v1.PriceByResource.decode(reader, reader.uint32()));
+ break;
+ }
+ case 7: {
+ message.startTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 8: {
+ message.endTime = $root.google.protobuf.Timestamp.decode(reader, reader.uint32());
+ break;
+ }
+ case 9: {
+ if (!(message.parameterDefinitions && message.parameterDefinitions.length))
+ message.parameterDefinitions = [];
+ message.parameterDefinitions.push($root.google.cloud.channel.v1.ParameterDefinition.decode(reader, reader.uint32()));
+ break;
+ }
+ case 12: {
+ message.dealCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes an Offer message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Offer} Offer
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Offer.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies an Offer message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Offer.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.marketingInfo != null && message.hasOwnProperty("marketingInfo")) {
+ var error = $root.google.cloud.channel.v1.MarketingInfo.verify(message.marketingInfo);
+ if (error)
+ return "marketingInfo." + error;
+ }
+ if (message.sku != null && message.hasOwnProperty("sku")) {
+ var error = $root.google.cloud.channel.v1.Sku.verify(message.sku);
+ if (error)
+ return "sku." + error;
+ }
+ if (message.plan != null && message.hasOwnProperty("plan")) {
+ var error = $root.google.cloud.channel.v1.Plan.verify(message.plan);
+ if (error)
+ return "plan." + error;
+ }
+ if (message.constraints != null && message.hasOwnProperty("constraints")) {
+ var error = $root.google.cloud.channel.v1.Constraints.verify(message.constraints);
+ if (error)
+ return "constraints." + error;
+ }
+ if (message.priceByResources != null && message.hasOwnProperty("priceByResources")) {
+ if (!Array.isArray(message.priceByResources))
+ return "priceByResources: array expected";
+ for (var i = 0; i < message.priceByResources.length; ++i) {
+ var error = $root.google.cloud.channel.v1.PriceByResource.verify(message.priceByResources[i]);
+ if (error)
+ return "priceByResources." + error;
+ }
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.startTime);
+ if (error)
+ return "startTime." + error;
+ }
+ if (message.endTime != null && message.hasOwnProperty("endTime")) {
+ var error = $root.google.protobuf.Timestamp.verify(message.endTime);
+ if (error)
+ return "endTime." + error;
+ }
+ if (message.parameterDefinitions != null && message.hasOwnProperty("parameterDefinitions")) {
+ if (!Array.isArray(message.parameterDefinitions))
+ return "parameterDefinitions: array expected";
+ for (var i = 0; i < message.parameterDefinitions.length; ++i) {
+ var error = $root.google.cloud.channel.v1.ParameterDefinition.verify(message.parameterDefinitions[i]);
+ if (error)
+ return "parameterDefinitions." + error;
+ }
+ }
+ if (message.dealCode != null && message.hasOwnProperty("dealCode"))
+ if (!$util.isString(message.dealCode))
+ return "dealCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates an Offer message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Offer} Offer
+ */
+ Offer.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Offer)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Offer();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.marketingInfo != null) {
+ if (typeof object.marketingInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.marketingInfo: object expected");
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.fromObject(object.marketingInfo);
+ }
+ if (object.sku != null) {
+ if (typeof object.sku !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.sku: object expected");
+ message.sku = $root.google.cloud.channel.v1.Sku.fromObject(object.sku);
+ }
+ if (object.plan != null) {
+ if (typeof object.plan !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.plan: object expected");
+ message.plan = $root.google.cloud.channel.v1.Plan.fromObject(object.plan);
+ }
+ if (object.constraints != null) {
+ if (typeof object.constraints !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.constraints: object expected");
+ message.constraints = $root.google.cloud.channel.v1.Constraints.fromObject(object.constraints);
+ }
+ if (object.priceByResources) {
+ if (!Array.isArray(object.priceByResources))
+ throw TypeError(".google.cloud.channel.v1.Offer.priceByResources: array expected");
+ message.priceByResources = [];
+ for (var i = 0; i < object.priceByResources.length; ++i) {
+ if (typeof object.priceByResources[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.priceByResources: object expected");
+ message.priceByResources[i] = $root.google.cloud.channel.v1.PriceByResource.fromObject(object.priceByResources[i]);
+ }
+ }
+ if (object.startTime != null) {
+ if (typeof object.startTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.startTime: object expected");
+ message.startTime = $root.google.protobuf.Timestamp.fromObject(object.startTime);
+ }
+ if (object.endTime != null) {
+ if (typeof object.endTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.endTime: object expected");
+ message.endTime = $root.google.protobuf.Timestamp.fromObject(object.endTime);
+ }
+ if (object.parameterDefinitions) {
+ if (!Array.isArray(object.parameterDefinitions))
+ throw TypeError(".google.cloud.channel.v1.Offer.parameterDefinitions: array expected");
+ message.parameterDefinitions = [];
+ for (var i = 0; i < object.parameterDefinitions.length; ++i) {
+ if (typeof object.parameterDefinitions[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.Offer.parameterDefinitions: object expected");
+ message.parameterDefinitions[i] = $root.google.cloud.channel.v1.ParameterDefinition.fromObject(object.parameterDefinitions[i]);
+ }
+ }
+ if (object.dealCode != null)
+ message.dealCode = String(object.dealCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an Offer message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {google.cloud.channel.v1.Offer} message Offer
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Offer.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.priceByResources = [];
+ object.parameterDefinitions = [];
+ }
+ if (options.defaults) {
+ object.name = "";
+ object.marketingInfo = null;
+ object.sku = null;
+ object.plan = null;
+ object.constraints = null;
+ object.startTime = null;
+ object.endTime = null;
+ object.dealCode = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.marketingInfo != null && message.hasOwnProperty("marketingInfo"))
+ object.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.toObject(message.marketingInfo, options);
+ if (message.sku != null && message.hasOwnProperty("sku"))
+ object.sku = $root.google.cloud.channel.v1.Sku.toObject(message.sku, options);
+ if (message.plan != null && message.hasOwnProperty("plan"))
+ object.plan = $root.google.cloud.channel.v1.Plan.toObject(message.plan, options);
+ if (message.constraints != null && message.hasOwnProperty("constraints"))
+ object.constraints = $root.google.cloud.channel.v1.Constraints.toObject(message.constraints, options);
+ if (message.priceByResources && message.priceByResources.length) {
+ object.priceByResources = [];
+ for (var j = 0; j < message.priceByResources.length; ++j)
+ object.priceByResources[j] = $root.google.cloud.channel.v1.PriceByResource.toObject(message.priceByResources[j], options);
+ }
+ if (message.startTime != null && message.hasOwnProperty("startTime"))
+ object.startTime = $root.google.protobuf.Timestamp.toObject(message.startTime, options);
+ if (message.endTime != null && message.hasOwnProperty("endTime"))
+ object.endTime = $root.google.protobuf.Timestamp.toObject(message.endTime, options);
+ if (message.parameterDefinitions && message.parameterDefinitions.length) {
+ object.parameterDefinitions = [];
+ for (var j = 0; j < message.parameterDefinitions.length; ++j)
+ object.parameterDefinitions[j] = $root.google.cloud.channel.v1.ParameterDefinition.toObject(message.parameterDefinitions[j], options);
+ }
+ if (message.dealCode != null && message.hasOwnProperty("dealCode"))
+ object.dealCode = message.dealCode;
+ return object;
+ };
+
+ /**
+ * Converts this Offer to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Offer
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Offer.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Offer
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Offer
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Offer.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Offer";
+ };
+
+ return Offer;
+ })();
+
+ v1.ParameterDefinition = (function() {
+
+ /**
+ * Properties of a ParameterDefinition.
+ * @memberof google.cloud.channel.v1
+ * @interface IParameterDefinition
+ * @property {string|null} [name] ParameterDefinition name
+ * @property {google.cloud.channel.v1.ParameterDefinition.ParameterType|null} [parameterType] ParameterDefinition parameterType
+ * @property {google.cloud.channel.v1.IValue|null} [minValue] ParameterDefinition minValue
+ * @property {google.cloud.channel.v1.IValue|null} [maxValue] ParameterDefinition maxValue
+ * @property {Array.|null} [allowedValues] ParameterDefinition allowedValues
+ * @property {boolean|null} [optional] ParameterDefinition optional
+ */
+
+ /**
+ * Constructs a new ParameterDefinition.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ParameterDefinition.
+ * @implements IParameterDefinition
+ * @constructor
+ * @param {google.cloud.channel.v1.IParameterDefinition=} [properties] Properties to set
+ */
+ function ParameterDefinition(properties) {
+ this.allowedValues = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ParameterDefinition name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.name = "";
+
+ /**
+ * ParameterDefinition parameterType.
+ * @member {google.cloud.channel.v1.ParameterDefinition.ParameterType} parameterType
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.parameterType = 0;
+
+ /**
+ * ParameterDefinition minValue.
+ * @member {google.cloud.channel.v1.IValue|null|undefined} minValue
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.minValue = null;
+
+ /**
+ * ParameterDefinition maxValue.
+ * @member {google.cloud.channel.v1.IValue|null|undefined} maxValue
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.maxValue = null;
+
+ /**
+ * ParameterDefinition allowedValues.
+ * @member {Array.} allowedValues
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.allowedValues = $util.emptyArray;
+
+ /**
+ * ParameterDefinition optional.
+ * @member {boolean} optional
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ */
+ ParameterDefinition.prototype.optional = false;
+
+ /**
+ * Creates a new ParameterDefinition instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {google.cloud.channel.v1.IParameterDefinition=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ParameterDefinition} ParameterDefinition instance
+ */
+ ParameterDefinition.create = function create(properties) {
+ return new ParameterDefinition(properties);
+ };
+
+ /**
+ * Encodes the specified ParameterDefinition message. Does not implicitly {@link google.cloud.channel.v1.ParameterDefinition.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {google.cloud.channel.v1.IParameterDefinition} message ParameterDefinition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ParameterDefinition.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.parameterType != null && Object.hasOwnProperty.call(message, "parameterType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.parameterType);
+ if (message.minValue != null && Object.hasOwnProperty.call(message, "minValue"))
+ $root.google.cloud.channel.v1.Value.encode(message.minValue, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.maxValue != null && Object.hasOwnProperty.call(message, "maxValue"))
+ $root.google.cloud.channel.v1.Value.encode(message.maxValue, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.allowedValues != null && message.allowedValues.length)
+ for (var i = 0; i < message.allowedValues.length; ++i)
+ $root.google.cloud.channel.v1.Value.encode(message.allowedValues[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.optional != null && Object.hasOwnProperty.call(message, "optional"))
+ writer.uint32(/* id 6, wireType 0 =*/48).bool(message.optional);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ParameterDefinition message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ParameterDefinition.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {google.cloud.channel.v1.IParameterDefinition} message ParameterDefinition message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ParameterDefinition.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ParameterDefinition message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ParameterDefinition} ParameterDefinition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ParameterDefinition.decode = function 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.channel.v1.ParameterDefinition();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.parameterType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.minValue = $root.google.cloud.channel.v1.Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.maxValue = $root.google.cloud.channel.v1.Value.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (!(message.allowedValues && message.allowedValues.length))
+ message.allowedValues = [];
+ message.allowedValues.push($root.google.cloud.channel.v1.Value.decode(reader, reader.uint32()));
+ break;
+ }
+ case 6: {
+ message.optional = reader.bool();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ParameterDefinition message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ParameterDefinition} ParameterDefinition
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ParameterDefinition.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ParameterDefinition message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ParameterDefinition.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.parameterType != null && message.hasOwnProperty("parameterType"))
+ switch (message.parameterType) {
+ default:
+ return "parameterType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.minValue != null && message.hasOwnProperty("minValue")) {
+ var error = $root.google.cloud.channel.v1.Value.verify(message.minValue);
+ if (error)
+ return "minValue." + error;
+ }
+ if (message.maxValue != null && message.hasOwnProperty("maxValue")) {
+ var error = $root.google.cloud.channel.v1.Value.verify(message.maxValue);
+ if (error)
+ return "maxValue." + error;
+ }
+ if (message.allowedValues != null && message.hasOwnProperty("allowedValues")) {
+ if (!Array.isArray(message.allowedValues))
+ return "allowedValues: array expected";
+ for (var i = 0; i < message.allowedValues.length; ++i) {
+ var error = $root.google.cloud.channel.v1.Value.verify(message.allowedValues[i]);
+ if (error)
+ return "allowedValues." + error;
+ }
+ }
+ if (message.optional != null && message.hasOwnProperty("optional"))
+ if (typeof message.optional !== "boolean")
+ return "optional: boolean expected";
+ return null;
+ };
+
+ /**
+ * Creates a ParameterDefinition message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ParameterDefinition} ParameterDefinition
+ */
+ ParameterDefinition.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ParameterDefinition)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ParameterDefinition();
+ if (object.name != null)
+ message.name = String(object.name);
+ switch (object.parameterType) {
+ default:
+ if (typeof object.parameterType === "number") {
+ message.parameterType = object.parameterType;
+ break;
+ }
+ break;
+ case "PARAMETER_TYPE_UNSPECIFIED":
+ case 0:
+ message.parameterType = 0;
+ break;
+ case "INT64":
+ case 1:
+ message.parameterType = 1;
+ break;
+ case "STRING":
+ case 2:
+ message.parameterType = 2;
+ break;
+ case "DOUBLE":
+ case 3:
+ message.parameterType = 3;
+ break;
+ }
+ if (object.minValue != null) {
+ if (typeof object.minValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ParameterDefinition.minValue: object expected");
+ message.minValue = $root.google.cloud.channel.v1.Value.fromObject(object.minValue);
+ }
+ if (object.maxValue != null) {
+ if (typeof object.maxValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ParameterDefinition.maxValue: object expected");
+ message.maxValue = $root.google.cloud.channel.v1.Value.fromObject(object.maxValue);
+ }
+ if (object.allowedValues) {
+ if (!Array.isArray(object.allowedValues))
+ throw TypeError(".google.cloud.channel.v1.ParameterDefinition.allowedValues: array expected");
+ message.allowedValues = [];
+ for (var i = 0; i < object.allowedValues.length; ++i) {
+ if (typeof object.allowedValues[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.ParameterDefinition.allowedValues: object expected");
+ message.allowedValues[i] = $root.google.cloud.channel.v1.Value.fromObject(object.allowedValues[i]);
+ }
+ }
+ if (object.optional != null)
+ message.optional = Boolean(object.optional);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ParameterDefinition message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {google.cloud.channel.v1.ParameterDefinition} message ParameterDefinition
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ParameterDefinition.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.allowedValues = [];
+ if (options.defaults) {
+ object.name = "";
+ object.parameterType = options.enums === String ? "PARAMETER_TYPE_UNSPECIFIED" : 0;
+ object.minValue = null;
+ object.maxValue = null;
+ object.optional = false;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.parameterType != null && message.hasOwnProperty("parameterType"))
+ object.parameterType = options.enums === String ? $root.google.cloud.channel.v1.ParameterDefinition.ParameterType[message.parameterType] === undefined ? message.parameterType : $root.google.cloud.channel.v1.ParameterDefinition.ParameterType[message.parameterType] : message.parameterType;
+ if (message.minValue != null && message.hasOwnProperty("minValue"))
+ object.minValue = $root.google.cloud.channel.v1.Value.toObject(message.minValue, options);
+ if (message.maxValue != null && message.hasOwnProperty("maxValue"))
+ object.maxValue = $root.google.cloud.channel.v1.Value.toObject(message.maxValue, options);
+ if (message.allowedValues && message.allowedValues.length) {
+ object.allowedValues = [];
+ for (var j = 0; j < message.allowedValues.length; ++j)
+ object.allowedValues[j] = $root.google.cloud.channel.v1.Value.toObject(message.allowedValues[j], options);
+ }
+ if (message.optional != null && message.hasOwnProperty("optional"))
+ object.optional = message.optional;
+ return object;
+ };
+
+ /**
+ * Converts this ParameterDefinition to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ParameterDefinition.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ParameterDefinition
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ParameterDefinition
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ParameterDefinition.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ParameterDefinition";
+ };
+
+ /**
+ * ParameterType enum.
+ * @name google.cloud.channel.v1.ParameterDefinition.ParameterType
+ * @enum {number}
+ * @property {number} PARAMETER_TYPE_UNSPECIFIED=0 PARAMETER_TYPE_UNSPECIFIED value
+ * @property {number} INT64=1 INT64 value
+ * @property {number} STRING=2 STRING value
+ * @property {number} DOUBLE=3 DOUBLE value
+ */
+ ParameterDefinition.ParameterType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "PARAMETER_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "INT64"] = 1;
+ values[valuesById[2] = "STRING"] = 2;
+ values[valuesById[3] = "DOUBLE"] = 3;
+ return values;
+ })();
+
+ return ParameterDefinition;
+ })();
+
+ v1.Constraints = (function() {
+
+ /**
+ * Properties of a Constraints.
+ * @memberof google.cloud.channel.v1
+ * @interface IConstraints
+ * @property {google.cloud.channel.v1.ICustomerConstraints|null} [customerConstraints] Constraints customerConstraints
+ */
+
+ /**
+ * Constructs a new Constraints.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Constraints.
+ * @implements IConstraints
+ * @constructor
+ * @param {google.cloud.channel.v1.IConstraints=} [properties] Properties to set
+ */
+ function Constraints(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]];
+ }
+
+ /**
+ * Constraints customerConstraints.
+ * @member {google.cloud.channel.v1.ICustomerConstraints|null|undefined} customerConstraints
+ * @memberof google.cloud.channel.v1.Constraints
+ * @instance
+ */
+ Constraints.prototype.customerConstraints = null;
+
+ /**
+ * Creates a new Constraints instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {google.cloud.channel.v1.IConstraints=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Constraints} Constraints instance
+ */
+ Constraints.create = function create(properties) {
+ return new Constraints(properties);
+ };
+
+ /**
+ * Encodes the specified Constraints message. Does not implicitly {@link google.cloud.channel.v1.Constraints.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {google.cloud.channel.v1.IConstraints} message Constraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Constraints.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.customerConstraints != null && Object.hasOwnProperty.call(message, "customerConstraints"))
+ $root.google.cloud.channel.v1.CustomerConstraints.encode(message.customerConstraints, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Constraints message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Constraints.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {google.cloud.channel.v1.IConstraints} message Constraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Constraints.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Constraints message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Constraints} Constraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Constraints.decode = function 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.channel.v1.Constraints();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.customerConstraints = $root.google.cloud.channel.v1.CustomerConstraints.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Constraints message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Constraints} Constraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Constraints.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Constraints message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Constraints.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.customerConstraints != null && message.hasOwnProperty("customerConstraints")) {
+ var error = $root.google.cloud.channel.v1.CustomerConstraints.verify(message.customerConstraints);
+ if (error)
+ return "customerConstraints." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Constraints message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Constraints} Constraints
+ */
+ Constraints.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Constraints)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Constraints();
+ if (object.customerConstraints != null) {
+ if (typeof object.customerConstraints !== "object")
+ throw TypeError(".google.cloud.channel.v1.Constraints.customerConstraints: object expected");
+ message.customerConstraints = $root.google.cloud.channel.v1.CustomerConstraints.fromObject(object.customerConstraints);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Constraints message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {google.cloud.channel.v1.Constraints} message Constraints
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Constraints.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults)
+ object.customerConstraints = null;
+ if (message.customerConstraints != null && message.hasOwnProperty("customerConstraints"))
+ object.customerConstraints = $root.google.cloud.channel.v1.CustomerConstraints.toObject(message.customerConstraints, options);
+ return object;
+ };
+
+ /**
+ * Converts this Constraints to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Constraints
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Constraints.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Constraints
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Constraints
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Constraints.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Constraints";
+ };
+
+ return Constraints;
+ })();
+
+ v1.CustomerConstraints = (function() {
+
+ /**
+ * Properties of a CustomerConstraints.
+ * @memberof google.cloud.channel.v1
+ * @interface ICustomerConstraints
+ * @property {Array.|null} [allowedRegions] CustomerConstraints allowedRegions
+ * @property {Array.|null} [allowedCustomerTypes] CustomerConstraints allowedCustomerTypes
+ * @property {Array.|null} [promotionalOrderTypes] CustomerConstraints promotionalOrderTypes
+ */
+
+ /**
+ * Constructs a new CustomerConstraints.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a CustomerConstraints.
+ * @implements ICustomerConstraints
+ * @constructor
+ * @param {google.cloud.channel.v1.ICustomerConstraints=} [properties] Properties to set
+ */
+ function CustomerConstraints(properties) {
+ this.allowedRegions = [];
+ this.allowedCustomerTypes = [];
+ this.promotionalOrderTypes = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * CustomerConstraints allowedRegions.
+ * @member {Array.} allowedRegions
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @instance
+ */
+ CustomerConstraints.prototype.allowedRegions = $util.emptyArray;
+
+ /**
+ * CustomerConstraints allowedCustomerTypes.
+ * @member {Array.} allowedCustomerTypes
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @instance
+ */
+ CustomerConstraints.prototype.allowedCustomerTypes = $util.emptyArray;
+
+ /**
+ * CustomerConstraints promotionalOrderTypes.
+ * @member {Array.} promotionalOrderTypes
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @instance
+ */
+ CustomerConstraints.prototype.promotionalOrderTypes = $util.emptyArray;
+
+ /**
+ * Creates a new CustomerConstraints instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {google.cloud.channel.v1.ICustomerConstraints=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.CustomerConstraints} CustomerConstraints instance
+ */
+ CustomerConstraints.create = function create(properties) {
+ return new CustomerConstraints(properties);
+ };
+
+ /**
+ * Encodes the specified CustomerConstraints message. Does not implicitly {@link google.cloud.channel.v1.CustomerConstraints.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {google.cloud.channel.v1.ICustomerConstraints} message CustomerConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomerConstraints.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.allowedRegions != null && message.allowedRegions.length)
+ for (var i = 0; i < message.allowedRegions.length; ++i)
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.allowedRegions[i]);
+ if (message.allowedCustomerTypes != null && message.allowedCustomerTypes.length) {
+ writer.uint32(/* id 2, wireType 2 =*/18).fork();
+ for (var i = 0; i < message.allowedCustomerTypes.length; ++i)
+ writer.int32(message.allowedCustomerTypes[i]);
+ writer.ldelim();
+ }
+ if (message.promotionalOrderTypes != null && message.promotionalOrderTypes.length) {
+ writer.uint32(/* id 3, wireType 2 =*/26).fork();
+ for (var i = 0; i < message.promotionalOrderTypes.length; ++i)
+ writer.int32(message.promotionalOrderTypes[i]);
+ writer.ldelim();
+ }
+ return writer;
+ };
+
+ /**
+ * Encodes the specified CustomerConstraints message, length delimited. Does not implicitly {@link google.cloud.channel.v1.CustomerConstraints.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {google.cloud.channel.v1.ICustomerConstraints} message CustomerConstraints message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ CustomerConstraints.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a CustomerConstraints message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.CustomerConstraints} CustomerConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomerConstraints.decode = function 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.channel.v1.CustomerConstraints();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.allowedRegions && message.allowedRegions.length))
+ message.allowedRegions = [];
+ message.allowedRegions.push(reader.string());
+ break;
+ }
+ case 2: {
+ if (!(message.allowedCustomerTypes && message.allowedCustomerTypes.length))
+ message.allowedCustomerTypes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.allowedCustomerTypes.push(reader.int32());
+ } else
+ message.allowedCustomerTypes.push(reader.int32());
+ break;
+ }
+ case 3: {
+ if (!(message.promotionalOrderTypes && message.promotionalOrderTypes.length))
+ message.promotionalOrderTypes = [];
+ if ((tag & 7) === 2) {
+ var end2 = reader.uint32() + reader.pos;
+ while (reader.pos < end2)
+ message.promotionalOrderTypes.push(reader.int32());
+ } else
+ message.promotionalOrderTypes.push(reader.int32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a CustomerConstraints message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.CustomerConstraints} CustomerConstraints
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ CustomerConstraints.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a CustomerConstraints message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ CustomerConstraints.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.allowedRegions != null && message.hasOwnProperty("allowedRegions")) {
+ if (!Array.isArray(message.allowedRegions))
+ return "allowedRegions: array expected";
+ for (var i = 0; i < message.allowedRegions.length; ++i)
+ if (!$util.isString(message.allowedRegions[i]))
+ return "allowedRegions: string[] expected";
+ }
+ if (message.allowedCustomerTypes != null && message.hasOwnProperty("allowedCustomerTypes")) {
+ if (!Array.isArray(message.allowedCustomerTypes))
+ return "allowedCustomerTypes: array expected";
+ for (var i = 0; i < message.allowedCustomerTypes.length; ++i)
+ switch (message.allowedCustomerTypes[i]) {
+ default:
+ return "allowedCustomerTypes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ }
+ if (message.promotionalOrderTypes != null && message.hasOwnProperty("promotionalOrderTypes")) {
+ if (!Array.isArray(message.promotionalOrderTypes))
+ return "promotionalOrderTypes: array expected";
+ for (var i = 0; i < message.promotionalOrderTypes.length; ++i)
+ switch (message.promotionalOrderTypes[i]) {
+ default:
+ return "promotionalOrderTypes: enum value[] expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a CustomerConstraints message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.CustomerConstraints} CustomerConstraints
+ */
+ CustomerConstraints.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.CustomerConstraints)
+ return object;
+ var message = new $root.google.cloud.channel.v1.CustomerConstraints();
+ if (object.allowedRegions) {
+ if (!Array.isArray(object.allowedRegions))
+ throw TypeError(".google.cloud.channel.v1.CustomerConstraints.allowedRegions: array expected");
+ message.allowedRegions = [];
+ for (var i = 0; i < object.allowedRegions.length; ++i)
+ message.allowedRegions[i] = String(object.allowedRegions[i]);
+ }
+ if (object.allowedCustomerTypes) {
+ if (!Array.isArray(object.allowedCustomerTypes))
+ throw TypeError(".google.cloud.channel.v1.CustomerConstraints.allowedCustomerTypes: array expected");
+ message.allowedCustomerTypes = [];
+ for (var i = 0; i < object.allowedCustomerTypes.length; ++i)
+ switch (object.allowedCustomerTypes[i]) {
+ default:
+ if (typeof object.allowedCustomerTypes[i] === "number") {
+ message.allowedCustomerTypes[i] = object.allowedCustomerTypes[i];
+ break;
+ }
+ case "CUSTOMER_TYPE_UNSPECIFIED":
+ case 0:
+ message.allowedCustomerTypes[i] = 0;
+ break;
+ case "DOMAIN":
+ case 1:
+ message.allowedCustomerTypes[i] = 1;
+ break;
+ case "TEAM":
+ case 2:
+ message.allowedCustomerTypes[i] = 2;
+ break;
+ }
+ }
+ if (object.promotionalOrderTypes) {
+ if (!Array.isArray(object.promotionalOrderTypes))
+ throw TypeError(".google.cloud.channel.v1.CustomerConstraints.promotionalOrderTypes: array expected");
+ message.promotionalOrderTypes = [];
+ for (var i = 0; i < object.promotionalOrderTypes.length; ++i)
+ switch (object.promotionalOrderTypes[i]) {
+ default:
+ if (typeof object.promotionalOrderTypes[i] === "number") {
+ message.promotionalOrderTypes[i] = object.promotionalOrderTypes[i];
+ break;
+ }
+ case "PROMOTIONAL_TYPE_UNSPECIFIED":
+ case 0:
+ message.promotionalOrderTypes[i] = 0;
+ break;
+ case "NEW_UPGRADE":
+ case 1:
+ message.promotionalOrderTypes[i] = 1;
+ break;
+ case "TRANSFER":
+ case 2:
+ message.promotionalOrderTypes[i] = 2;
+ break;
+ case "PROMOTION_SWITCH":
+ case 3:
+ message.promotionalOrderTypes[i] = 3;
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a CustomerConstraints message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {google.cloud.channel.v1.CustomerConstraints} message CustomerConstraints
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ CustomerConstraints.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults) {
+ object.allowedRegions = [];
+ object.allowedCustomerTypes = [];
+ object.promotionalOrderTypes = [];
+ }
+ if (message.allowedRegions && message.allowedRegions.length) {
+ object.allowedRegions = [];
+ for (var j = 0; j < message.allowedRegions.length; ++j)
+ object.allowedRegions[j] = message.allowedRegions[j];
+ }
+ if (message.allowedCustomerTypes && message.allowedCustomerTypes.length) {
+ object.allowedCustomerTypes = [];
+ for (var j = 0; j < message.allowedCustomerTypes.length; ++j)
+ object.allowedCustomerTypes[j] = options.enums === String ? $root.google.cloud.channel.v1.CloudIdentityInfo.CustomerType[message.allowedCustomerTypes[j]] === undefined ? message.allowedCustomerTypes[j] : $root.google.cloud.channel.v1.CloudIdentityInfo.CustomerType[message.allowedCustomerTypes[j]] : message.allowedCustomerTypes[j];
+ }
+ if (message.promotionalOrderTypes && message.promotionalOrderTypes.length) {
+ object.promotionalOrderTypes = [];
+ for (var j = 0; j < message.promotionalOrderTypes.length; ++j)
+ object.promotionalOrderTypes[j] = options.enums === String ? $root.google.cloud.channel.v1.PromotionalOrderType[message.promotionalOrderTypes[j]] === undefined ? message.promotionalOrderTypes[j] : $root.google.cloud.channel.v1.PromotionalOrderType[message.promotionalOrderTypes[j]] : message.promotionalOrderTypes[j];
+ }
+ return object;
+ };
+
+ /**
+ * Converts this CustomerConstraints to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ CustomerConstraints.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for CustomerConstraints
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.CustomerConstraints
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ CustomerConstraints.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.CustomerConstraints";
+ };
+
+ return CustomerConstraints;
+ })();
+
+ v1.Plan = (function() {
+
+ /**
+ * Properties of a Plan.
+ * @memberof google.cloud.channel.v1
+ * @interface IPlan
+ * @property {google.cloud.channel.v1.PaymentPlan|null} [paymentPlan] Plan paymentPlan
+ * @property {google.cloud.channel.v1.PaymentType|null} [paymentType] Plan paymentType
+ * @property {google.cloud.channel.v1.IPeriod|null} [paymentCycle] Plan paymentCycle
+ * @property {google.cloud.channel.v1.IPeriod|null} [trialPeriod] Plan trialPeriod
+ * @property {string|null} [billingAccount] Plan billingAccount
+ */
+
+ /**
+ * Constructs a new Plan.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Plan.
+ * @implements IPlan
+ * @constructor
+ * @param {google.cloud.channel.v1.IPlan=} [properties] Properties to set
+ */
+ function Plan(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]];
+ }
+
+ /**
+ * Plan paymentPlan.
+ * @member {google.cloud.channel.v1.PaymentPlan} paymentPlan
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ */
+ Plan.prototype.paymentPlan = 0;
+
+ /**
+ * Plan paymentType.
+ * @member {google.cloud.channel.v1.PaymentType} paymentType
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ */
+ Plan.prototype.paymentType = 0;
+
+ /**
+ * Plan paymentCycle.
+ * @member {google.cloud.channel.v1.IPeriod|null|undefined} paymentCycle
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ */
+ Plan.prototype.paymentCycle = null;
+
+ /**
+ * Plan trialPeriod.
+ * @member {google.cloud.channel.v1.IPeriod|null|undefined} trialPeriod
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ */
+ Plan.prototype.trialPeriod = null;
+
+ /**
+ * Plan billingAccount.
+ * @member {string} billingAccount
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ */
+ Plan.prototype.billingAccount = "";
+
+ /**
+ * Creates a new Plan instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {google.cloud.channel.v1.IPlan=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Plan} Plan instance
+ */
+ Plan.create = function create(properties) {
+ return new Plan(properties);
+ };
+
+ /**
+ * Encodes the specified Plan message. Does not implicitly {@link google.cloud.channel.v1.Plan.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {google.cloud.channel.v1.IPlan} message Plan message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Plan.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.paymentPlan != null && Object.hasOwnProperty.call(message, "paymentPlan"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.paymentPlan);
+ if (message.paymentType != null && Object.hasOwnProperty.call(message, "paymentType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.paymentType);
+ if (message.paymentCycle != null && Object.hasOwnProperty.call(message, "paymentCycle"))
+ $root.google.cloud.channel.v1.Period.encode(message.paymentCycle, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.trialPeriod != null && Object.hasOwnProperty.call(message, "trialPeriod"))
+ $root.google.cloud.channel.v1.Period.encode(message.trialPeriod, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.billingAccount != null && Object.hasOwnProperty.call(message, "billingAccount"))
+ writer.uint32(/* id 5, wireType 2 =*/42).string(message.billingAccount);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Plan message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Plan.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {google.cloud.channel.v1.IPlan} message Plan message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Plan.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Plan message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Plan} Plan
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Plan.decode = function 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.channel.v1.Plan();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.paymentPlan = reader.int32();
+ break;
+ }
+ case 2: {
+ message.paymentType = reader.int32();
+ break;
+ }
+ case 3: {
+ message.paymentCycle = $root.google.cloud.channel.v1.Period.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.trialPeriod = $root.google.cloud.channel.v1.Period.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.billingAccount = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Plan message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Plan} Plan
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Plan.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Plan message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Plan.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.paymentPlan != null && message.hasOwnProperty("paymentPlan"))
+ switch (message.paymentPlan) {
+ default:
+ return "paymentPlan: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ break;
+ }
+ if (message.paymentType != null && message.hasOwnProperty("paymentType"))
+ switch (message.paymentType) {
+ default:
+ return "paymentType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ break;
+ }
+ if (message.paymentCycle != null && message.hasOwnProperty("paymentCycle")) {
+ var error = $root.google.cloud.channel.v1.Period.verify(message.paymentCycle);
+ if (error)
+ return "paymentCycle." + error;
+ }
+ if (message.trialPeriod != null && message.hasOwnProperty("trialPeriod")) {
+ var error = $root.google.cloud.channel.v1.Period.verify(message.trialPeriod);
+ if (error)
+ return "trialPeriod." + error;
+ }
+ if (message.billingAccount != null && message.hasOwnProperty("billingAccount"))
+ if (!$util.isString(message.billingAccount))
+ return "billingAccount: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Plan message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Plan} Plan
+ */
+ Plan.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Plan)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Plan();
+ switch (object.paymentPlan) {
+ default:
+ if (typeof object.paymentPlan === "number") {
+ message.paymentPlan = object.paymentPlan;
+ break;
+ }
+ break;
+ case "PAYMENT_PLAN_UNSPECIFIED":
+ case 0:
+ message.paymentPlan = 0;
+ break;
+ case "COMMITMENT":
+ case 1:
+ message.paymentPlan = 1;
+ break;
+ case "FLEXIBLE":
+ case 2:
+ message.paymentPlan = 2;
+ break;
+ case "FREE":
+ case 3:
+ message.paymentPlan = 3;
+ break;
+ case "TRIAL":
+ case 4:
+ message.paymentPlan = 4;
+ break;
+ case "OFFLINE":
+ case 5:
+ message.paymentPlan = 5;
+ break;
+ }
+ switch (object.paymentType) {
+ default:
+ if (typeof object.paymentType === "number") {
+ message.paymentType = object.paymentType;
+ break;
+ }
+ break;
+ case "PAYMENT_TYPE_UNSPECIFIED":
+ case 0:
+ message.paymentType = 0;
+ break;
+ case "PREPAY":
+ case 1:
+ message.paymentType = 1;
+ break;
+ case "POSTPAY":
+ case 2:
+ message.paymentType = 2;
+ break;
+ }
+ if (object.paymentCycle != null) {
+ if (typeof object.paymentCycle !== "object")
+ throw TypeError(".google.cloud.channel.v1.Plan.paymentCycle: object expected");
+ message.paymentCycle = $root.google.cloud.channel.v1.Period.fromObject(object.paymentCycle);
+ }
+ if (object.trialPeriod != null) {
+ if (typeof object.trialPeriod !== "object")
+ throw TypeError(".google.cloud.channel.v1.Plan.trialPeriod: object expected");
+ message.trialPeriod = $root.google.cloud.channel.v1.Period.fromObject(object.trialPeriod);
+ }
+ if (object.billingAccount != null)
+ message.billingAccount = String(object.billingAccount);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Plan message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {google.cloud.channel.v1.Plan} message Plan
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Plan.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.paymentPlan = options.enums === String ? "PAYMENT_PLAN_UNSPECIFIED" : 0;
+ object.paymentType = options.enums === String ? "PAYMENT_TYPE_UNSPECIFIED" : 0;
+ object.paymentCycle = null;
+ object.trialPeriod = null;
+ object.billingAccount = "";
+ }
+ if (message.paymentPlan != null && message.hasOwnProperty("paymentPlan"))
+ object.paymentPlan = options.enums === String ? $root.google.cloud.channel.v1.PaymentPlan[message.paymentPlan] === undefined ? message.paymentPlan : $root.google.cloud.channel.v1.PaymentPlan[message.paymentPlan] : message.paymentPlan;
+ if (message.paymentType != null && message.hasOwnProperty("paymentType"))
+ object.paymentType = options.enums === String ? $root.google.cloud.channel.v1.PaymentType[message.paymentType] === undefined ? message.paymentType : $root.google.cloud.channel.v1.PaymentType[message.paymentType] : message.paymentType;
+ if (message.paymentCycle != null && message.hasOwnProperty("paymentCycle"))
+ object.paymentCycle = $root.google.cloud.channel.v1.Period.toObject(message.paymentCycle, options);
+ if (message.trialPeriod != null && message.hasOwnProperty("trialPeriod"))
+ object.trialPeriod = $root.google.cloud.channel.v1.Period.toObject(message.trialPeriod, options);
+ if (message.billingAccount != null && message.hasOwnProperty("billingAccount"))
+ object.billingAccount = message.billingAccount;
+ return object;
+ };
+
+ /**
+ * Converts this Plan to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Plan
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Plan.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Plan
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Plan
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Plan.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Plan";
+ };
+
+ return Plan;
+ })();
+
+ v1.PriceByResource = (function() {
+
+ /**
+ * Properties of a PriceByResource.
+ * @memberof google.cloud.channel.v1
+ * @interface IPriceByResource
+ * @property {google.cloud.channel.v1.ResourceType|null} [resourceType] PriceByResource resourceType
+ * @property {google.cloud.channel.v1.IPrice|null} [price] PriceByResource price
+ * @property {Array.|null} [pricePhases] PriceByResource pricePhases
+ */
+
+ /**
+ * Constructs a new PriceByResource.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a PriceByResource.
+ * @implements IPriceByResource
+ * @constructor
+ * @param {google.cloud.channel.v1.IPriceByResource=} [properties] Properties to set
+ */
+ function PriceByResource(properties) {
+ this.pricePhases = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PriceByResource resourceType.
+ * @member {google.cloud.channel.v1.ResourceType} resourceType
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @instance
+ */
+ PriceByResource.prototype.resourceType = 0;
+
+ /**
+ * PriceByResource price.
+ * @member {google.cloud.channel.v1.IPrice|null|undefined} price
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @instance
+ */
+ PriceByResource.prototype.price = null;
+
+ /**
+ * PriceByResource pricePhases.
+ * @member {Array.} pricePhases
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @instance
+ */
+ PriceByResource.prototype.pricePhases = $util.emptyArray;
+
+ /**
+ * Creates a new PriceByResource instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {google.cloud.channel.v1.IPriceByResource=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.PriceByResource} PriceByResource instance
+ */
+ PriceByResource.create = function create(properties) {
+ return new PriceByResource(properties);
+ };
+
+ /**
+ * Encodes the specified PriceByResource message. Does not implicitly {@link google.cloud.channel.v1.PriceByResource.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {google.cloud.channel.v1.IPriceByResource} message PriceByResource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PriceByResource.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.resourceType != null && Object.hasOwnProperty.call(message, "resourceType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.resourceType);
+ if (message.price != null && Object.hasOwnProperty.call(message, "price"))
+ $root.google.cloud.channel.v1.Price.encode(message.price, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.pricePhases != null && message.pricePhases.length)
+ for (var i = 0; i < message.pricePhases.length; ++i)
+ $root.google.cloud.channel.v1.PricePhase.encode(message.pricePhases[i], writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PriceByResource message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PriceByResource.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {google.cloud.channel.v1.IPriceByResource} message PriceByResource message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PriceByResource.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PriceByResource message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.PriceByResource} PriceByResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PriceByResource.decode = function 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.channel.v1.PriceByResource();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.resourceType = reader.int32();
+ break;
+ }
+ case 2: {
+ message.price = $root.google.cloud.channel.v1.Price.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ if (!(message.pricePhases && message.pricePhases.length))
+ message.pricePhases = [];
+ message.pricePhases.push($root.google.cloud.channel.v1.PricePhase.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PriceByResource message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.PriceByResource} PriceByResource
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PriceByResource.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PriceByResource message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PriceByResource.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.resourceType != null && message.hasOwnProperty("resourceType"))
+ switch (message.resourceType) {
+ default:
+ return "resourceType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ case 7:
+ break;
+ }
+ if (message.price != null && message.hasOwnProperty("price")) {
+ var error = $root.google.cloud.channel.v1.Price.verify(message.price);
+ if (error)
+ return "price." + error;
+ }
+ if (message.pricePhases != null && message.hasOwnProperty("pricePhases")) {
+ if (!Array.isArray(message.pricePhases))
+ return "pricePhases: array expected";
+ for (var i = 0; i < message.pricePhases.length; ++i) {
+ var error = $root.google.cloud.channel.v1.PricePhase.verify(message.pricePhases[i]);
+ if (error)
+ return "pricePhases." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PriceByResource message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.PriceByResource} PriceByResource
+ */
+ PriceByResource.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.PriceByResource)
+ return object;
+ var message = new $root.google.cloud.channel.v1.PriceByResource();
+ switch (object.resourceType) {
+ default:
+ if (typeof object.resourceType === "number") {
+ message.resourceType = object.resourceType;
+ break;
+ }
+ break;
+ case "RESOURCE_TYPE_UNSPECIFIED":
+ case 0:
+ message.resourceType = 0;
+ break;
+ case "SEAT":
+ case 1:
+ message.resourceType = 1;
+ break;
+ case "MAU":
+ case 2:
+ message.resourceType = 2;
+ break;
+ case "GB":
+ case 3:
+ message.resourceType = 3;
+ break;
+ case "LICENSED_USER":
+ case 4:
+ message.resourceType = 4;
+ break;
+ case "MINUTES":
+ case 5:
+ message.resourceType = 5;
+ break;
+ case "IAAS_USAGE":
+ case 6:
+ message.resourceType = 6;
+ break;
+ case "SUBSCRIPTION":
+ case 7:
+ message.resourceType = 7;
+ break;
+ }
+ if (object.price != null) {
+ if (typeof object.price !== "object")
+ throw TypeError(".google.cloud.channel.v1.PriceByResource.price: object expected");
+ message.price = $root.google.cloud.channel.v1.Price.fromObject(object.price);
+ }
+ if (object.pricePhases) {
+ if (!Array.isArray(object.pricePhases))
+ throw TypeError(".google.cloud.channel.v1.PriceByResource.pricePhases: array expected");
+ message.pricePhases = [];
+ for (var i = 0; i < object.pricePhases.length; ++i) {
+ if (typeof object.pricePhases[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.PriceByResource.pricePhases: object expected");
+ message.pricePhases[i] = $root.google.cloud.channel.v1.PricePhase.fromObject(object.pricePhases[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PriceByResource message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {google.cloud.channel.v1.PriceByResource} message PriceByResource
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PriceByResource.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.pricePhases = [];
+ if (options.defaults) {
+ object.resourceType = options.enums === String ? "RESOURCE_TYPE_UNSPECIFIED" : 0;
+ object.price = null;
+ }
+ if (message.resourceType != null && message.hasOwnProperty("resourceType"))
+ object.resourceType = options.enums === String ? $root.google.cloud.channel.v1.ResourceType[message.resourceType] === undefined ? message.resourceType : $root.google.cloud.channel.v1.ResourceType[message.resourceType] : message.resourceType;
+ if (message.price != null && message.hasOwnProperty("price"))
+ object.price = $root.google.cloud.channel.v1.Price.toObject(message.price, options);
+ if (message.pricePhases && message.pricePhases.length) {
+ object.pricePhases = [];
+ for (var j = 0; j < message.pricePhases.length; ++j)
+ object.pricePhases[j] = $root.google.cloud.channel.v1.PricePhase.toObject(message.pricePhases[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PriceByResource to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PriceByResource.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PriceByResource
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.PriceByResource
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PriceByResource.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.PriceByResource";
+ };
+
+ return PriceByResource;
+ })();
+
+ v1.Price = (function() {
+
+ /**
+ * Properties of a Price.
+ * @memberof google.cloud.channel.v1
+ * @interface IPrice
+ * @property {google.type.IMoney|null} [basePrice] Price basePrice
+ * @property {number|null} [discount] Price discount
+ * @property {google.type.IMoney|null} [effectivePrice] Price effectivePrice
+ * @property {string|null} [externalPriceUri] Price externalPriceUri
+ */
+
+ /**
+ * Constructs a new Price.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Price.
+ * @implements IPrice
+ * @constructor
+ * @param {google.cloud.channel.v1.IPrice=} [properties] Properties to set
+ */
+ function Price(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]];
+ }
+
+ /**
+ * Price basePrice.
+ * @member {google.type.IMoney|null|undefined} basePrice
+ * @memberof google.cloud.channel.v1.Price
+ * @instance
+ */
+ Price.prototype.basePrice = null;
+
+ /**
+ * Price discount.
+ * @member {number} discount
+ * @memberof google.cloud.channel.v1.Price
+ * @instance
+ */
+ Price.prototype.discount = 0;
+
+ /**
+ * Price effectivePrice.
+ * @member {google.type.IMoney|null|undefined} effectivePrice
+ * @memberof google.cloud.channel.v1.Price
+ * @instance
+ */
+ Price.prototype.effectivePrice = null;
+
+ /**
+ * Price externalPriceUri.
+ * @member {string} externalPriceUri
+ * @memberof google.cloud.channel.v1.Price
+ * @instance
+ */
+ Price.prototype.externalPriceUri = "";
+
+ /**
+ * Creates a new Price instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {google.cloud.channel.v1.IPrice=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Price} Price instance
+ */
+ Price.create = function create(properties) {
+ return new Price(properties);
+ };
+
+ /**
+ * Encodes the specified Price message. Does not implicitly {@link google.cloud.channel.v1.Price.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {google.cloud.channel.v1.IPrice} message Price message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Price.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.basePrice != null && Object.hasOwnProperty.call(message, "basePrice"))
+ $root.google.type.Money.encode(message.basePrice, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.discount != null && Object.hasOwnProperty.call(message, "discount"))
+ writer.uint32(/* id 2, wireType 1 =*/17).double(message.discount);
+ if (message.effectivePrice != null && Object.hasOwnProperty.call(message, "effectivePrice"))
+ $root.google.type.Money.encode(message.effectivePrice, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.externalPriceUri != null && Object.hasOwnProperty.call(message, "externalPriceUri"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.externalPriceUri);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Price message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Price.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {google.cloud.channel.v1.IPrice} message Price message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Price.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Price message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Price} Price
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Price.decode = function 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.channel.v1.Price();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.basePrice = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.discount = reader.double();
+ break;
+ }
+ case 3: {
+ message.effectivePrice = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.externalPriceUri = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Price message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Price} Price
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Price.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Price message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Price.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.basePrice != null && message.hasOwnProperty("basePrice")) {
+ var error = $root.google.type.Money.verify(message.basePrice);
+ if (error)
+ return "basePrice." + error;
+ }
+ if (message.discount != null && message.hasOwnProperty("discount"))
+ if (typeof message.discount !== "number")
+ return "discount: number expected";
+ if (message.effectivePrice != null && message.hasOwnProperty("effectivePrice")) {
+ var error = $root.google.type.Money.verify(message.effectivePrice);
+ if (error)
+ return "effectivePrice." + error;
+ }
+ if (message.externalPriceUri != null && message.hasOwnProperty("externalPriceUri"))
+ if (!$util.isString(message.externalPriceUri))
+ return "externalPriceUri: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a Price message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Price} Price
+ */
+ Price.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Price)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Price();
+ if (object.basePrice != null) {
+ if (typeof object.basePrice !== "object")
+ throw TypeError(".google.cloud.channel.v1.Price.basePrice: object expected");
+ message.basePrice = $root.google.type.Money.fromObject(object.basePrice);
+ }
+ if (object.discount != null)
+ message.discount = Number(object.discount);
+ if (object.effectivePrice != null) {
+ if (typeof object.effectivePrice !== "object")
+ throw TypeError(".google.cloud.channel.v1.Price.effectivePrice: object expected");
+ message.effectivePrice = $root.google.type.Money.fromObject(object.effectivePrice);
+ }
+ if (object.externalPriceUri != null)
+ message.externalPriceUri = String(object.externalPriceUri);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Price message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {google.cloud.channel.v1.Price} message Price
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Price.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.basePrice = null;
+ object.discount = 0;
+ object.effectivePrice = null;
+ object.externalPriceUri = "";
+ }
+ if (message.basePrice != null && message.hasOwnProperty("basePrice"))
+ object.basePrice = $root.google.type.Money.toObject(message.basePrice, options);
+ if (message.discount != null && message.hasOwnProperty("discount"))
+ object.discount = options.json && !isFinite(message.discount) ? String(message.discount) : message.discount;
+ if (message.effectivePrice != null && message.hasOwnProperty("effectivePrice"))
+ object.effectivePrice = $root.google.type.Money.toObject(message.effectivePrice, options);
+ if (message.externalPriceUri != null && message.hasOwnProperty("externalPriceUri"))
+ object.externalPriceUri = message.externalPriceUri;
+ return object;
+ };
+
+ /**
+ * Converts this Price to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Price
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Price.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Price
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Price
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Price.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Price";
+ };
+
+ return Price;
+ })();
+
+ v1.PricePhase = (function() {
+
+ /**
+ * Properties of a PricePhase.
+ * @memberof google.cloud.channel.v1
+ * @interface IPricePhase
+ * @property {google.cloud.channel.v1.PeriodType|null} [periodType] PricePhase periodType
+ * @property {number|null} [firstPeriod] PricePhase firstPeriod
+ * @property {number|null} [lastPeriod] PricePhase lastPeriod
+ * @property {google.cloud.channel.v1.IPrice|null} [price] PricePhase price
+ * @property {Array.|null} [priceTiers] PricePhase priceTiers
+ */
+
+ /**
+ * Constructs a new PricePhase.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a PricePhase.
+ * @implements IPricePhase
+ * @constructor
+ * @param {google.cloud.channel.v1.IPricePhase=} [properties] Properties to set
+ */
+ function PricePhase(properties) {
+ this.priceTiers = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * PricePhase periodType.
+ * @member {google.cloud.channel.v1.PeriodType} periodType
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ */
+ PricePhase.prototype.periodType = 0;
+
+ /**
+ * PricePhase firstPeriod.
+ * @member {number} firstPeriod
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ */
+ PricePhase.prototype.firstPeriod = 0;
+
+ /**
+ * PricePhase lastPeriod.
+ * @member {number} lastPeriod
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ */
+ PricePhase.prototype.lastPeriod = 0;
+
+ /**
+ * PricePhase price.
+ * @member {google.cloud.channel.v1.IPrice|null|undefined} price
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ */
+ PricePhase.prototype.price = null;
+
+ /**
+ * PricePhase priceTiers.
+ * @member {Array.} priceTiers
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ */
+ PricePhase.prototype.priceTiers = $util.emptyArray;
+
+ /**
+ * Creates a new PricePhase instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {google.cloud.channel.v1.IPricePhase=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.PricePhase} PricePhase instance
+ */
+ PricePhase.create = function create(properties) {
+ return new PricePhase(properties);
+ };
+
+ /**
+ * Encodes the specified PricePhase message. Does not implicitly {@link google.cloud.channel.v1.PricePhase.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {google.cloud.channel.v1.IPricePhase} message PricePhase message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PricePhase.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.periodType != null && Object.hasOwnProperty.call(message, "periodType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.periodType);
+ if (message.firstPeriod != null && Object.hasOwnProperty.call(message, "firstPeriod"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.firstPeriod);
+ if (message.lastPeriod != null && Object.hasOwnProperty.call(message, "lastPeriod"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.lastPeriod);
+ if (message.price != null && Object.hasOwnProperty.call(message, "price"))
+ $root.google.cloud.channel.v1.Price.encode(message.price, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.priceTiers != null && message.priceTiers.length)
+ for (var i = 0; i < message.priceTiers.length; ++i)
+ $root.google.cloud.channel.v1.PriceTier.encode(message.priceTiers[i], writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PricePhase message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PricePhase.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {google.cloud.channel.v1.IPricePhase} message PricePhase message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PricePhase.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PricePhase message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.PricePhase} PricePhase
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PricePhase.decode = function 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.channel.v1.PricePhase();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.periodType = reader.int32();
+ break;
+ }
+ case 2: {
+ message.firstPeriod = reader.int32();
+ break;
+ }
+ case 3: {
+ message.lastPeriod = reader.int32();
+ break;
+ }
+ case 4: {
+ message.price = $root.google.cloud.channel.v1.Price.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ if (!(message.priceTiers && message.priceTiers.length))
+ message.priceTiers = [];
+ message.priceTiers.push($root.google.cloud.channel.v1.PriceTier.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PricePhase message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.PricePhase} PricePhase
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PricePhase.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PricePhase message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PricePhase.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.periodType != null && message.hasOwnProperty("periodType"))
+ switch (message.periodType) {
+ default:
+ return "periodType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ if (message.firstPeriod != null && message.hasOwnProperty("firstPeriod"))
+ if (!$util.isInteger(message.firstPeriod))
+ return "firstPeriod: integer expected";
+ if (message.lastPeriod != null && message.hasOwnProperty("lastPeriod"))
+ if (!$util.isInteger(message.lastPeriod))
+ return "lastPeriod: integer expected";
+ if (message.price != null && message.hasOwnProperty("price")) {
+ var error = $root.google.cloud.channel.v1.Price.verify(message.price);
+ if (error)
+ return "price." + error;
+ }
+ if (message.priceTiers != null && message.hasOwnProperty("priceTiers")) {
+ if (!Array.isArray(message.priceTiers))
+ return "priceTiers: array expected";
+ for (var i = 0; i < message.priceTiers.length; ++i) {
+ var error = $root.google.cloud.channel.v1.PriceTier.verify(message.priceTiers[i]);
+ if (error)
+ return "priceTiers." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PricePhase message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.PricePhase} PricePhase
+ */
+ PricePhase.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.PricePhase)
+ return object;
+ var message = new $root.google.cloud.channel.v1.PricePhase();
+ switch (object.periodType) {
+ default:
+ if (typeof object.periodType === "number") {
+ message.periodType = object.periodType;
+ break;
+ }
+ break;
+ case "PERIOD_TYPE_UNSPECIFIED":
+ case 0:
+ message.periodType = 0;
+ break;
+ case "DAY":
+ case 1:
+ message.periodType = 1;
+ break;
+ case "MONTH":
+ case 2:
+ message.periodType = 2;
+ break;
+ case "YEAR":
+ case 3:
+ message.periodType = 3;
+ break;
+ }
+ if (object.firstPeriod != null)
+ message.firstPeriod = object.firstPeriod | 0;
+ if (object.lastPeriod != null)
+ message.lastPeriod = object.lastPeriod | 0;
+ if (object.price != null) {
+ if (typeof object.price !== "object")
+ throw TypeError(".google.cloud.channel.v1.PricePhase.price: object expected");
+ message.price = $root.google.cloud.channel.v1.Price.fromObject(object.price);
+ }
+ if (object.priceTiers) {
+ if (!Array.isArray(object.priceTiers))
+ throw TypeError(".google.cloud.channel.v1.PricePhase.priceTiers: array expected");
+ message.priceTiers = [];
+ for (var i = 0; i < object.priceTiers.length; ++i) {
+ if (typeof object.priceTiers[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.PricePhase.priceTiers: object expected");
+ message.priceTiers[i] = $root.google.cloud.channel.v1.PriceTier.fromObject(object.priceTiers[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PricePhase message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {google.cloud.channel.v1.PricePhase} message PricePhase
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PricePhase.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.priceTiers = [];
+ if (options.defaults) {
+ object.periodType = options.enums === String ? "PERIOD_TYPE_UNSPECIFIED" : 0;
+ object.firstPeriod = 0;
+ object.lastPeriod = 0;
+ object.price = null;
+ }
+ if (message.periodType != null && message.hasOwnProperty("periodType"))
+ object.periodType = options.enums === String ? $root.google.cloud.channel.v1.PeriodType[message.periodType] === undefined ? message.periodType : $root.google.cloud.channel.v1.PeriodType[message.periodType] : message.periodType;
+ if (message.firstPeriod != null && message.hasOwnProperty("firstPeriod"))
+ object.firstPeriod = message.firstPeriod;
+ if (message.lastPeriod != null && message.hasOwnProperty("lastPeriod"))
+ object.lastPeriod = message.lastPeriod;
+ if (message.price != null && message.hasOwnProperty("price"))
+ object.price = $root.google.cloud.channel.v1.Price.toObject(message.price, options);
+ if (message.priceTiers && message.priceTiers.length) {
+ object.priceTiers = [];
+ for (var j = 0; j < message.priceTiers.length; ++j)
+ object.priceTiers[j] = $root.google.cloud.channel.v1.PriceTier.toObject(message.priceTiers[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this PricePhase to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PricePhase.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PricePhase
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.PricePhase
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PricePhase.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.PricePhase";
+ };
+
+ return PricePhase;
+ })();
+
+ v1.PriceTier = (function() {
+
+ /**
+ * Properties of a PriceTier.
+ * @memberof google.cloud.channel.v1
+ * @interface IPriceTier
+ * @property {number|null} [firstResource] PriceTier firstResource
+ * @property {number|null} [lastResource] PriceTier lastResource
+ * @property {google.cloud.channel.v1.IPrice|null} [price] PriceTier price
+ */
+
+ /**
+ * Constructs a new PriceTier.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a PriceTier.
+ * @implements IPriceTier
+ * @constructor
+ * @param {google.cloud.channel.v1.IPriceTier=} [properties] Properties to set
+ */
+ function PriceTier(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]];
+ }
+
+ /**
+ * PriceTier firstResource.
+ * @member {number} firstResource
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @instance
+ */
+ PriceTier.prototype.firstResource = 0;
+
+ /**
+ * PriceTier lastResource.
+ * @member {number} lastResource
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @instance
+ */
+ PriceTier.prototype.lastResource = 0;
+
+ /**
+ * PriceTier price.
+ * @member {google.cloud.channel.v1.IPrice|null|undefined} price
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @instance
+ */
+ PriceTier.prototype.price = null;
+
+ /**
+ * Creates a new PriceTier instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {google.cloud.channel.v1.IPriceTier=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.PriceTier} PriceTier instance
+ */
+ PriceTier.create = function create(properties) {
+ return new PriceTier(properties);
+ };
+
+ /**
+ * Encodes the specified PriceTier message. Does not implicitly {@link google.cloud.channel.v1.PriceTier.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {google.cloud.channel.v1.IPriceTier} message PriceTier message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PriceTier.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.firstResource != null && Object.hasOwnProperty.call(message, "firstResource"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.firstResource);
+ if (message.lastResource != null && Object.hasOwnProperty.call(message, "lastResource"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.lastResource);
+ if (message.price != null && Object.hasOwnProperty.call(message, "price"))
+ $root.google.cloud.channel.v1.Price.encode(message.price, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified PriceTier message, length delimited. Does not implicitly {@link google.cloud.channel.v1.PriceTier.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {google.cloud.channel.v1.IPriceTier} message PriceTier message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ PriceTier.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a PriceTier message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.PriceTier} PriceTier
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PriceTier.decode = function 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.channel.v1.PriceTier();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.firstResource = reader.int32();
+ break;
+ }
+ case 2: {
+ message.lastResource = reader.int32();
+ break;
+ }
+ case 3: {
+ message.price = $root.google.cloud.channel.v1.Price.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a PriceTier message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.PriceTier} PriceTier
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ PriceTier.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a PriceTier message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ PriceTier.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.firstResource != null && message.hasOwnProperty("firstResource"))
+ if (!$util.isInteger(message.firstResource))
+ return "firstResource: integer expected";
+ if (message.lastResource != null && message.hasOwnProperty("lastResource"))
+ if (!$util.isInteger(message.lastResource))
+ return "lastResource: integer expected";
+ if (message.price != null && message.hasOwnProperty("price")) {
+ var error = $root.google.cloud.channel.v1.Price.verify(message.price);
+ if (error)
+ return "price." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a PriceTier message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.PriceTier} PriceTier
+ */
+ PriceTier.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.PriceTier)
+ return object;
+ var message = new $root.google.cloud.channel.v1.PriceTier();
+ if (object.firstResource != null)
+ message.firstResource = object.firstResource | 0;
+ if (object.lastResource != null)
+ message.lastResource = object.lastResource | 0;
+ if (object.price != null) {
+ if (typeof object.price !== "object")
+ throw TypeError(".google.cloud.channel.v1.PriceTier.price: object expected");
+ message.price = $root.google.cloud.channel.v1.Price.fromObject(object.price);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a PriceTier message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {google.cloud.channel.v1.PriceTier} message PriceTier
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ PriceTier.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.firstResource = 0;
+ object.lastResource = 0;
+ object.price = null;
+ }
+ if (message.firstResource != null && message.hasOwnProperty("firstResource"))
+ object.firstResource = message.firstResource;
+ if (message.lastResource != null && message.hasOwnProperty("lastResource"))
+ object.lastResource = message.lastResource;
+ if (message.price != null && message.hasOwnProperty("price"))
+ object.price = $root.google.cloud.channel.v1.Price.toObject(message.price, options);
+ return object;
+ };
+
+ /**
+ * Converts this PriceTier to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ PriceTier.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for PriceTier
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.PriceTier
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ PriceTier.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.PriceTier";
+ };
+
+ return PriceTier;
+ })();
+
+ v1.Period = (function() {
+
+ /**
+ * Properties of a Period.
+ * @memberof google.cloud.channel.v1
+ * @interface IPeriod
+ * @property {number|null} [duration] Period duration
+ * @property {google.cloud.channel.v1.PeriodType|null} [periodType] Period periodType
+ */
+
+ /**
+ * Constructs a new Period.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Period.
+ * @implements IPeriod
+ * @constructor
+ * @param {google.cloud.channel.v1.IPeriod=} [properties] Properties to set
+ */
+ function Period(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]];
+ }
+
+ /**
+ * Period duration.
+ * @member {number} duration
+ * @memberof google.cloud.channel.v1.Period
+ * @instance
+ */
+ Period.prototype.duration = 0;
+
+ /**
+ * Period periodType.
+ * @member {google.cloud.channel.v1.PeriodType} periodType
+ * @memberof google.cloud.channel.v1.Period
+ * @instance
+ */
+ Period.prototype.periodType = 0;
+
+ /**
+ * Creates a new Period instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {google.cloud.channel.v1.IPeriod=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Period} Period instance
+ */
+ Period.create = function create(properties) {
+ return new Period(properties);
+ };
+
+ /**
+ * Encodes the specified Period message. Does not implicitly {@link google.cloud.channel.v1.Period.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {google.cloud.channel.v1.IPeriod} message Period message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Period.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.duration != null && Object.hasOwnProperty.call(message, "duration"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.duration);
+ if (message.periodType != null && Object.hasOwnProperty.call(message, "periodType"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.periodType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Period message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Period.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {google.cloud.channel.v1.IPeriod} message Period message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Period.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Period message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Period} Period
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Period.decode = function 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.channel.v1.Period();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.duration = reader.int32();
+ break;
+ }
+ case 2: {
+ message.periodType = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Period message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Period} Period
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Period.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Period message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Period.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ if (!$util.isInteger(message.duration))
+ return "duration: integer expected";
+ if (message.periodType != null && message.hasOwnProperty("periodType"))
+ switch (message.periodType) {
+ default:
+ return "periodType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Period message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Period} Period
+ */
+ Period.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Period)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Period();
+ if (object.duration != null)
+ message.duration = object.duration | 0;
+ switch (object.periodType) {
+ default:
+ if (typeof object.periodType === "number") {
+ message.periodType = object.periodType;
+ break;
+ }
+ break;
+ case "PERIOD_TYPE_UNSPECIFIED":
+ case 0:
+ message.periodType = 0;
+ break;
+ case "DAY":
+ case 1:
+ message.periodType = 1;
+ break;
+ case "MONTH":
+ case 2:
+ message.periodType = 2;
+ break;
+ case "YEAR":
+ case 3:
+ message.periodType = 3;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Period message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {google.cloud.channel.v1.Period} message Period
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Period.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.duration = 0;
+ object.periodType = options.enums === String ? "PERIOD_TYPE_UNSPECIFIED" : 0;
+ }
+ if (message.duration != null && message.hasOwnProperty("duration"))
+ object.duration = message.duration;
+ if (message.periodType != null && message.hasOwnProperty("periodType"))
+ object.periodType = options.enums === String ? $root.google.cloud.channel.v1.PeriodType[message.periodType] === undefined ? message.periodType : $root.google.cloud.channel.v1.PeriodType[message.periodType] : message.periodType;
+ return object;
+ };
+
+ /**
+ * Converts this Period to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Period
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Period.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Period
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Period
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Period.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Period";
+ };
+
+ return Period;
+ })();
+
+ /**
+ * MediaType enum.
+ * @name google.cloud.channel.v1.MediaType
+ * @enum {number}
+ * @property {number} MEDIA_TYPE_UNSPECIFIED=0 MEDIA_TYPE_UNSPECIFIED value
+ * @property {number} MEDIA_TYPE_IMAGE=1 MEDIA_TYPE_IMAGE value
+ */
+ v1.MediaType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "MEDIA_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "MEDIA_TYPE_IMAGE"] = 1;
+ return values;
+ })();
+
+ v1.Product = (function() {
+
+ /**
+ * Properties of a Product.
+ * @memberof google.cloud.channel.v1
+ * @interface IProduct
+ * @property {string|null} [name] Product name
+ * @property {google.cloud.channel.v1.IMarketingInfo|null} [marketingInfo] Product marketingInfo
+ */
+
+ /**
+ * Constructs a new Product.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Product.
+ * @implements IProduct
+ * @constructor
+ * @param {google.cloud.channel.v1.IProduct=} [properties] Properties to set
+ */
+ function Product(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]];
+ }
+
+ /**
+ * Product name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Product
+ * @instance
+ */
+ Product.prototype.name = "";
+
+ /**
+ * Product marketingInfo.
+ * @member {google.cloud.channel.v1.IMarketingInfo|null|undefined} marketingInfo
+ * @memberof google.cloud.channel.v1.Product
+ * @instance
+ */
+ Product.prototype.marketingInfo = null;
+
+ /**
+ * Creates a new Product instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {google.cloud.channel.v1.IProduct=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Product} Product instance
+ */
+ Product.create = function create(properties) {
+ return new Product(properties);
+ };
+
+ /**
+ * Encodes the specified Product message. Does not implicitly {@link google.cloud.channel.v1.Product.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {google.cloud.channel.v1.IProduct} message Product message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Product.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.marketingInfo != null && Object.hasOwnProperty.call(message, "marketingInfo"))
+ $root.google.cloud.channel.v1.MarketingInfo.encode(message.marketingInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Product message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Product.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {google.cloud.channel.v1.IProduct} message Product message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Product.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Product message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Product} Product
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Product.decode = function 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.channel.v1.Product();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Product message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Product} Product
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Product.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Product message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Product.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.marketingInfo != null && message.hasOwnProperty("marketingInfo")) {
+ var error = $root.google.cloud.channel.v1.MarketingInfo.verify(message.marketingInfo);
+ if (error)
+ return "marketingInfo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Product message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Product} Product
+ */
+ Product.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Product)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Product();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.marketingInfo != null) {
+ if (typeof object.marketingInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Product.marketingInfo: object expected");
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.fromObject(object.marketingInfo);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Product message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {google.cloud.channel.v1.Product} message Product
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Product.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.marketingInfo = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.marketingInfo != null && message.hasOwnProperty("marketingInfo"))
+ object.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.toObject(message.marketingInfo, options);
+ return object;
+ };
+
+ /**
+ * Converts this Product to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Product
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Product.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Product
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Product
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Product.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Product";
+ };
+
+ return Product;
+ })();
+
+ v1.Sku = (function() {
+
+ /**
+ * Properties of a Sku.
+ * @memberof google.cloud.channel.v1
+ * @interface ISku
+ * @property {string|null} [name] Sku name
+ * @property {google.cloud.channel.v1.IMarketingInfo|null} [marketingInfo] Sku marketingInfo
+ * @property {google.cloud.channel.v1.IProduct|null} [product] Sku product
+ */
+
+ /**
+ * Constructs a new Sku.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Sku.
+ * @implements ISku
+ * @constructor
+ * @param {google.cloud.channel.v1.ISku=} [properties] Properties to set
+ */
+ function Sku(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]];
+ }
+
+ /**
+ * Sku name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.Sku
+ * @instance
+ */
+ Sku.prototype.name = "";
+
+ /**
+ * Sku marketingInfo.
+ * @member {google.cloud.channel.v1.IMarketingInfo|null|undefined} marketingInfo
+ * @memberof google.cloud.channel.v1.Sku
+ * @instance
+ */
+ Sku.prototype.marketingInfo = null;
+
+ /**
+ * Sku product.
+ * @member {google.cloud.channel.v1.IProduct|null|undefined} product
+ * @memberof google.cloud.channel.v1.Sku
+ * @instance
+ */
+ Sku.prototype.product = null;
+
+ /**
+ * Creates a new Sku instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {google.cloud.channel.v1.ISku=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Sku} Sku instance
+ */
+ Sku.create = function create(properties) {
+ return new Sku(properties);
+ };
+
+ /**
+ * Encodes the specified Sku message. Does not implicitly {@link google.cloud.channel.v1.Sku.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {google.cloud.channel.v1.ISku} message Sku message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Sku.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.marketingInfo != null && Object.hasOwnProperty.call(message, "marketingInfo"))
+ $root.google.cloud.channel.v1.MarketingInfo.encode(message.marketingInfo, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.product != null && Object.hasOwnProperty.call(message, "product"))
+ $root.google.cloud.channel.v1.Product.encode(message.product, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Sku message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Sku.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {google.cloud.channel.v1.ISku} message Sku message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Sku.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Sku message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Sku} Sku
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Sku.decode = function 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.channel.v1.Sku();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.product = $root.google.cloud.channel.v1.Product.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Sku message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Sku} Sku
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Sku.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Sku message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Sku.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.marketingInfo != null && message.hasOwnProperty("marketingInfo")) {
+ var error = $root.google.cloud.channel.v1.MarketingInfo.verify(message.marketingInfo);
+ if (error)
+ return "marketingInfo." + error;
+ }
+ if (message.product != null && message.hasOwnProperty("product")) {
+ var error = $root.google.cloud.channel.v1.Product.verify(message.product);
+ if (error)
+ return "product." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Sku message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Sku} Sku
+ */
+ Sku.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Sku)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Sku();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.marketingInfo != null) {
+ if (typeof object.marketingInfo !== "object")
+ throw TypeError(".google.cloud.channel.v1.Sku.marketingInfo: object expected");
+ message.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.fromObject(object.marketingInfo);
+ }
+ if (object.product != null) {
+ if (typeof object.product !== "object")
+ throw TypeError(".google.cloud.channel.v1.Sku.product: object expected");
+ message.product = $root.google.cloud.channel.v1.Product.fromObject(object.product);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Sku message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {google.cloud.channel.v1.Sku} message Sku
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Sku.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.marketingInfo = null;
+ object.product = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.marketingInfo != null && message.hasOwnProperty("marketingInfo"))
+ object.marketingInfo = $root.google.cloud.channel.v1.MarketingInfo.toObject(message.marketingInfo, options);
+ if (message.product != null && message.hasOwnProperty("product"))
+ object.product = $root.google.cloud.channel.v1.Product.toObject(message.product, options);
+ return object;
+ };
+
+ /**
+ * Converts this Sku to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Sku
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Sku.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Sku
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Sku
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Sku.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Sku";
+ };
+
+ return Sku;
+ })();
+
+ v1.MarketingInfo = (function() {
+
+ /**
+ * Properties of a MarketingInfo.
+ * @memberof google.cloud.channel.v1
+ * @interface IMarketingInfo
+ * @property {string|null} [displayName] MarketingInfo displayName
+ * @property {string|null} [description] MarketingInfo description
+ * @property {google.cloud.channel.v1.IMedia|null} [defaultLogo] MarketingInfo defaultLogo
+ */
+
+ /**
+ * Constructs a new MarketingInfo.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a MarketingInfo.
+ * @implements IMarketingInfo
+ * @constructor
+ * @param {google.cloud.channel.v1.IMarketingInfo=} [properties] Properties to set
+ */
+ function MarketingInfo(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]];
+ }
+
+ /**
+ * MarketingInfo displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @instance
+ */
+ MarketingInfo.prototype.displayName = "";
+
+ /**
+ * MarketingInfo description.
+ * @member {string} description
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @instance
+ */
+ MarketingInfo.prototype.description = "";
+
+ /**
+ * MarketingInfo defaultLogo.
+ * @member {google.cloud.channel.v1.IMedia|null|undefined} defaultLogo
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @instance
+ */
+ MarketingInfo.prototype.defaultLogo = null;
+
+ /**
+ * Creates a new MarketingInfo instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {google.cloud.channel.v1.IMarketingInfo=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.MarketingInfo} MarketingInfo instance
+ */
+ MarketingInfo.create = function create(properties) {
+ return new MarketingInfo(properties);
+ };
+
+ /**
+ * Encodes the specified MarketingInfo message. Does not implicitly {@link google.cloud.channel.v1.MarketingInfo.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {google.cloud.channel.v1.IMarketingInfo} message MarketingInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MarketingInfo.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.displayName);
+ if (message.description != null && Object.hasOwnProperty.call(message, "description"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.description);
+ if (message.defaultLogo != null && Object.hasOwnProperty.call(message, "defaultLogo"))
+ $root.google.cloud.channel.v1.Media.encode(message.defaultLogo, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified MarketingInfo message, length delimited. Does not implicitly {@link google.cloud.channel.v1.MarketingInfo.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {google.cloud.channel.v1.IMarketingInfo} message MarketingInfo message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ MarketingInfo.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a MarketingInfo message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.MarketingInfo} MarketingInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MarketingInfo.decode = function 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.channel.v1.MarketingInfo();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 2: {
+ message.description = reader.string();
+ break;
+ }
+ case 3: {
+ message.defaultLogo = $root.google.cloud.channel.v1.Media.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a MarketingInfo message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.MarketingInfo} MarketingInfo
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ MarketingInfo.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a MarketingInfo message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ MarketingInfo.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.description != null && message.hasOwnProperty("description"))
+ if (!$util.isString(message.description))
+ return "description: string expected";
+ if (message.defaultLogo != null && message.hasOwnProperty("defaultLogo")) {
+ var error = $root.google.cloud.channel.v1.Media.verify(message.defaultLogo);
+ if (error)
+ return "defaultLogo." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a MarketingInfo message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.MarketingInfo} MarketingInfo
+ */
+ MarketingInfo.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.MarketingInfo)
+ return object;
+ var message = new $root.google.cloud.channel.v1.MarketingInfo();
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ if (object.description != null)
+ message.description = String(object.description);
+ if (object.defaultLogo != null) {
+ if (typeof object.defaultLogo !== "object")
+ throw TypeError(".google.cloud.channel.v1.MarketingInfo.defaultLogo: object expected");
+ message.defaultLogo = $root.google.cloud.channel.v1.Media.fromObject(object.defaultLogo);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a MarketingInfo message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {google.cloud.channel.v1.MarketingInfo} message MarketingInfo
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ MarketingInfo.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.displayName = "";
+ object.description = "";
+ object.defaultLogo = null;
+ }
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.description != null && message.hasOwnProperty("description"))
+ object.description = message.description;
+ if (message.defaultLogo != null && message.hasOwnProperty("defaultLogo"))
+ object.defaultLogo = $root.google.cloud.channel.v1.Media.toObject(message.defaultLogo, options);
+ return object;
+ };
+
+ /**
+ * Converts this MarketingInfo to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ MarketingInfo.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for MarketingInfo
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.MarketingInfo
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ MarketingInfo.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.MarketingInfo";
+ };
+
+ return MarketingInfo;
+ })();
+
+ v1.Media = (function() {
+
+ /**
+ * Properties of a Media.
+ * @memberof google.cloud.channel.v1
+ * @interface IMedia
+ * @property {string|null} [title] Media title
+ * @property {string|null} [content] Media content
+ * @property {google.cloud.channel.v1.MediaType|null} [type] Media type
+ */
+
+ /**
+ * Constructs a new Media.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Media.
+ * @implements IMedia
+ * @constructor
+ * @param {google.cloud.channel.v1.IMedia=} [properties] Properties to set
+ */
+ function Media(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]];
+ }
+
+ /**
+ * Media title.
+ * @member {string} title
+ * @memberof google.cloud.channel.v1.Media
+ * @instance
+ */
+ Media.prototype.title = "";
+
+ /**
+ * Media content.
+ * @member {string} content
+ * @memberof google.cloud.channel.v1.Media
+ * @instance
+ */
+ Media.prototype.content = "";
+
+ /**
+ * Media type.
+ * @member {google.cloud.channel.v1.MediaType} type
+ * @memberof google.cloud.channel.v1.Media
+ * @instance
+ */
+ Media.prototype.type = 0;
+
+ /**
+ * Creates a new Media instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {google.cloud.channel.v1.IMedia=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Media} Media instance
+ */
+ Media.create = function create(properties) {
+ return new Media(properties);
+ };
+
+ /**
+ * Encodes the specified Media message. Does not implicitly {@link google.cloud.channel.v1.Media.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {google.cloud.channel.v1.IMedia} message Media message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Media.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.title != null && Object.hasOwnProperty.call(message, "title"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.title);
+ if (message.content != null && Object.hasOwnProperty.call(message, "content"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.content);
+ if (message.type != null && Object.hasOwnProperty.call(message, "type"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.type);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Media message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Media.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {google.cloud.channel.v1.IMedia} message Media message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Media.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Media message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Media} Media
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Media.decode = function 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.channel.v1.Media();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.title = reader.string();
+ break;
+ }
+ case 2: {
+ message.content = reader.string();
+ break;
+ }
+ case 3: {
+ message.type = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Media message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Media} Media
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Media.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Media message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Media.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.title != null && message.hasOwnProperty("title"))
+ if (!$util.isString(message.title))
+ return "title: string expected";
+ if (message.content != null && message.hasOwnProperty("content"))
+ if (!$util.isString(message.content))
+ return "content: string expected";
+ if (message.type != null && message.hasOwnProperty("type"))
+ switch (message.type) {
+ default:
+ return "type: enum value expected";
+ case 0:
+ case 1:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Media message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Media} Media
+ */
+ Media.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Media)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Media();
+ if (object.title != null)
+ message.title = String(object.title);
+ if (object.content != null)
+ message.content = String(object.content);
+ switch (object.type) {
+ default:
+ if (typeof object.type === "number") {
+ message.type = object.type;
+ break;
+ }
+ break;
+ case "MEDIA_TYPE_UNSPECIFIED":
+ case 0:
+ message.type = 0;
+ break;
+ case "MEDIA_TYPE_IMAGE":
+ case 1:
+ message.type = 1;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Media message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {google.cloud.channel.v1.Media} message Media
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Media.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.title = "";
+ object.content = "";
+ object.type = options.enums === String ? "MEDIA_TYPE_UNSPECIFIED" : 0;
+ }
+ if (message.title != null && message.hasOwnProperty("title"))
+ object.title = message.title;
+ if (message.content != null && message.hasOwnProperty("content"))
+ object.content = message.content;
+ if (message.type != null && message.hasOwnProperty("type"))
+ object.type = options.enums === String ? $root.google.cloud.channel.v1.MediaType[message.type] === undefined ? message.type : $root.google.cloud.channel.v1.MediaType[message.type] : message.type;
+ return object;
+ };
+
+ /**
+ * Converts this Media to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Media
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Media.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Media
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Media
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Media.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Media";
+ };
+
+ return Media;
+ })();
+
+ v1.OperationMetadata = (function() {
+
+ /**
+ * Properties of an OperationMetadata.
+ * @memberof google.cloud.channel.v1
+ * @interface IOperationMetadata
+ * @property {google.cloud.channel.v1.OperationMetadata.OperationType|null} [operationType] OperationMetadata operationType
+ */
+
+ /**
+ * Constructs a new OperationMetadata.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents an OperationMetadata.
+ * @implements IOperationMetadata
+ * @constructor
+ * @param {google.cloud.channel.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 operationType.
+ * @member {google.cloud.channel.v1.OperationMetadata.OperationType} operationType
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @instance
+ */
+ OperationMetadata.prototype.operationType = 0;
+
+ /**
+ * Creates a new OperationMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.channel.v1.IOperationMetadata=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.OperationMetadata} OperationMetadata instance
+ */
+ OperationMetadata.create = function create(properties) {
+ return new OperationMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message. Does not implicitly {@link google.cloud.channel.v1.OperationMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.channel.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.operationType != null && Object.hasOwnProperty.call(message, "operationType"))
+ writer.uint32(/* id 1, wireType 0 =*/8).int32(message.operationType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified OperationMetadata message, length delimited. Does not implicitly {@link google.cloud.channel.v1.OperationMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.channel.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.channel.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.channel.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.channel.v1.OperationMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.operationType = reader.int32();
+ 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.channel.v1.OperationMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.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.channel.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.operationType != null && message.hasOwnProperty("operationType"))
+ switch (message.operationType) {
+ default:
+ return "operationType: enum value expected";
+ case 0:
+ case 1:
+ case 3:
+ case 5:
+ case 7:
+ case 8:
+ case 9:
+ case 10:
+ case 11:
+ case 14:
+ case 15:
+ case 16:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates an OperationMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.OperationMetadata} OperationMetadata
+ */
+ OperationMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.OperationMetadata)
+ return object;
+ var message = new $root.google.cloud.channel.v1.OperationMetadata();
+ switch (object.operationType) {
+ default:
+ if (typeof object.operationType === "number") {
+ message.operationType = object.operationType;
+ break;
+ }
+ break;
+ case "OPERATION_TYPE_UNSPECIFIED":
+ case 0:
+ message.operationType = 0;
+ break;
+ case "CREATE_ENTITLEMENT":
+ case 1:
+ message.operationType = 1;
+ break;
+ case "CHANGE_RENEWAL_SETTINGS":
+ case 3:
+ message.operationType = 3;
+ break;
+ case "START_PAID_SERVICE":
+ case 5:
+ message.operationType = 5;
+ break;
+ case "ACTIVATE_ENTITLEMENT":
+ case 7:
+ message.operationType = 7;
+ break;
+ case "SUSPEND_ENTITLEMENT":
+ case 8:
+ message.operationType = 8;
+ break;
+ case "CANCEL_ENTITLEMENT":
+ case 9:
+ message.operationType = 9;
+ break;
+ case "TRANSFER_ENTITLEMENTS":
+ case 10:
+ message.operationType = 10;
+ break;
+ case "TRANSFER_ENTITLEMENTS_TO_GOOGLE":
+ case 11:
+ message.operationType = 11;
+ break;
+ case "CHANGE_OFFER":
+ case 14:
+ message.operationType = 14;
+ break;
+ case "CHANGE_PARAMETERS":
+ case 15:
+ message.operationType = 15;
+ break;
+ case "PROVISION_CLOUD_IDENTITY":
+ case 16:
+ message.operationType = 16;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from an OperationMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.OperationMetadata
+ * @static
+ * @param {google.cloud.channel.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.operationType = options.enums === String ? "OPERATION_TYPE_UNSPECIFIED" : 0;
+ if (message.operationType != null && message.hasOwnProperty("operationType"))
+ object.operationType = options.enums === String ? $root.google.cloud.channel.v1.OperationMetadata.OperationType[message.operationType] === undefined ? message.operationType : $root.google.cloud.channel.v1.OperationMetadata.OperationType[message.operationType] : message.operationType;
+ return object;
+ };
+
+ /**
+ * Converts this OperationMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.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.channel.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.channel.v1.OperationMetadata";
+ };
+
+ /**
+ * OperationType enum.
+ * @name google.cloud.channel.v1.OperationMetadata.OperationType
+ * @enum {number}
+ * @property {number} OPERATION_TYPE_UNSPECIFIED=0 OPERATION_TYPE_UNSPECIFIED value
+ * @property {number} CREATE_ENTITLEMENT=1 CREATE_ENTITLEMENT value
+ * @property {number} CHANGE_RENEWAL_SETTINGS=3 CHANGE_RENEWAL_SETTINGS value
+ * @property {number} START_PAID_SERVICE=5 START_PAID_SERVICE value
+ * @property {number} ACTIVATE_ENTITLEMENT=7 ACTIVATE_ENTITLEMENT value
+ * @property {number} SUSPEND_ENTITLEMENT=8 SUSPEND_ENTITLEMENT value
+ * @property {number} CANCEL_ENTITLEMENT=9 CANCEL_ENTITLEMENT value
+ * @property {number} TRANSFER_ENTITLEMENTS=10 TRANSFER_ENTITLEMENTS value
+ * @property {number} TRANSFER_ENTITLEMENTS_TO_GOOGLE=11 TRANSFER_ENTITLEMENTS_TO_GOOGLE value
+ * @property {number} CHANGE_OFFER=14 CHANGE_OFFER value
+ * @property {number} CHANGE_PARAMETERS=15 CHANGE_PARAMETERS value
+ * @property {number} PROVISION_CLOUD_IDENTITY=16 PROVISION_CLOUD_IDENTITY value
+ */
+ OperationMetadata.OperationType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "OPERATION_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "CREATE_ENTITLEMENT"] = 1;
+ values[valuesById[3] = "CHANGE_RENEWAL_SETTINGS"] = 3;
+ values[valuesById[5] = "START_PAID_SERVICE"] = 5;
+ values[valuesById[7] = "ACTIVATE_ENTITLEMENT"] = 7;
+ values[valuesById[8] = "SUSPEND_ENTITLEMENT"] = 8;
+ values[valuesById[9] = "CANCEL_ENTITLEMENT"] = 9;
+ values[valuesById[10] = "TRANSFER_ENTITLEMENTS"] = 10;
+ values[valuesById[11] = "TRANSFER_ENTITLEMENTS_TO_GOOGLE"] = 11;
+ values[valuesById[14] = "CHANGE_OFFER"] = 14;
+ values[valuesById[15] = "CHANGE_PARAMETERS"] = 15;
+ values[valuesById[16] = "PROVISION_CLOUD_IDENTITY"] = 16;
+ return values;
+ })();
+
+ return OperationMetadata;
+ })();
+
+ v1.CloudChannelReportsService = (function() {
+
+ /**
+ * Constructs a new CloudChannelReportsService service.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a CloudChannelReportsService
+ * @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 CloudChannelReportsService(rpcImpl, requestDelimited, responseDelimited) {
+ $protobuf.rpc.Service.call(this, rpcImpl, requestDelimited, responseDelimited);
+ }
+
+ (CloudChannelReportsService.prototype = Object.create($protobuf.rpc.Service.prototype)).constructor = CloudChannelReportsService;
+
+ /**
+ * Creates new CloudChannelReportsService service using the specified rpc implementation.
+ * @function create
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @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 {CloudChannelReportsService} RPC service. Useful where requests and/or responses are streamed.
+ */
+ CloudChannelReportsService.create = function create(rpcImpl, requestDelimited, responseDelimited) {
+ return new this(rpcImpl, requestDelimited, responseDelimited);
+ };
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|runReportJob}.
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @typedef RunReportJobCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.longrunning.Operation} [response] Operation
+ */
+
+ /**
+ * Calls RunReportJob.
+ * @function runReportJob
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IRunReportJobRequest} request RunReportJobRequest message or plain object
+ * @param {google.cloud.channel.v1.CloudChannelReportsService.RunReportJobCallback} callback Node-style callback called with the error, if any, and Operation
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudChannelReportsService.prototype.runReportJob = function runReportJob(request, callback) {
+ return this.rpcCall(runReportJob, $root.google.cloud.channel.v1.RunReportJobRequest, $root.google.longrunning.Operation, request, callback);
+ }, "name", { value: "RunReportJob" });
+
+ /**
+ * Calls RunReportJob.
+ * @function runReportJob
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IRunReportJobRequest} request RunReportJobRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|fetchReportResults}.
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @typedef FetchReportResultsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.channel.v1.FetchReportResultsResponse} [response] FetchReportResultsResponse
+ */
+
+ /**
+ * Calls FetchReportResults.
+ * @function fetchReportResults
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest} request FetchReportResultsRequest message or plain object
+ * @param {google.cloud.channel.v1.CloudChannelReportsService.FetchReportResultsCallback} callback Node-style callback called with the error, if any, and FetchReportResultsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudChannelReportsService.prototype.fetchReportResults = function fetchReportResults(request, callback) {
+ return this.rpcCall(fetchReportResults, $root.google.cloud.channel.v1.FetchReportResultsRequest, $root.google.cloud.channel.v1.FetchReportResultsResponse, request, callback);
+ }, "name", { value: "FetchReportResults" });
+
+ /**
+ * Calls FetchReportResults.
+ * @function fetchReportResults
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest} request FetchReportResultsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ /**
+ * Callback as used by {@link google.cloud.channel.v1.CloudChannelReportsService|listReports}.
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @typedef ListReportsCallback
+ * @type {function}
+ * @param {Error|null} error Error, if any
+ * @param {google.cloud.channel.v1.ListReportsResponse} [response] ListReportsResponse
+ */
+
+ /**
+ * Calls ListReports.
+ * @function listReports
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IListReportsRequest} request ListReportsRequest message or plain object
+ * @param {google.cloud.channel.v1.CloudChannelReportsService.ListReportsCallback} callback Node-style callback called with the error, if any, and ListReportsResponse
+ * @returns {undefined}
+ * @variation 1
+ */
+ Object.defineProperty(CloudChannelReportsService.prototype.listReports = function listReports(request, callback) {
+ return this.rpcCall(listReports, $root.google.cloud.channel.v1.ListReportsRequest, $root.google.cloud.channel.v1.ListReportsResponse, request, callback);
+ }, "name", { value: "ListReports" });
+
+ /**
+ * Calls ListReports.
+ * @function listReports
+ * @memberof google.cloud.channel.v1.CloudChannelReportsService
+ * @instance
+ * @param {google.cloud.channel.v1.IListReportsRequest} request ListReportsRequest message or plain object
+ * @returns {Promise} Promise
+ * @variation 2
+ */
+
+ return CloudChannelReportsService;
+ })();
+
+ v1.RunReportJobRequest = (function() {
+
+ /**
+ * Properties of a RunReportJobRequest.
+ * @memberof google.cloud.channel.v1
+ * @interface IRunReportJobRequest
+ * @property {string|null} [name] RunReportJobRequest name
+ * @property {google.cloud.channel.v1.IDateRange|null} [dateRange] RunReportJobRequest dateRange
+ * @property {string|null} [filter] RunReportJobRequest filter
+ * @property {string|null} [languageCode] RunReportJobRequest languageCode
+ */
+
+ /**
+ * Constructs a new RunReportJobRequest.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a RunReportJobRequest.
+ * @implements IRunReportJobRequest
+ * @constructor
+ * @param {google.cloud.channel.v1.IRunReportJobRequest=} [properties] Properties to set
+ */
+ function RunReportJobRequest(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]];
+ }
+
+ /**
+ * RunReportJobRequest name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @instance
+ */
+ RunReportJobRequest.prototype.name = "";
+
+ /**
+ * RunReportJobRequest dateRange.
+ * @member {google.cloud.channel.v1.IDateRange|null|undefined} dateRange
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @instance
+ */
+ RunReportJobRequest.prototype.dateRange = null;
+
+ /**
+ * RunReportJobRequest filter.
+ * @member {string} filter
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @instance
+ */
+ RunReportJobRequest.prototype.filter = "";
+
+ /**
+ * RunReportJobRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @instance
+ */
+ RunReportJobRequest.prototype.languageCode = "";
+
+ /**
+ * Creates a new RunReportJobRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobRequest=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.RunReportJobRequest} RunReportJobRequest instance
+ */
+ RunReportJobRequest.create = function create(properties) {
+ return new RunReportJobRequest(properties);
+ };
+
+ /**
+ * Encodes the specified RunReportJobRequest message. Does not implicitly {@link google.cloud.channel.v1.RunReportJobRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobRequest} message RunReportJobRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunReportJobRequest.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.dateRange != null && Object.hasOwnProperty.call(message, "dateRange"))
+ $root.google.cloud.channel.v1.DateRange.encode(message.dateRange, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.filter != null && Object.hasOwnProperty.call(message, "filter"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.filter);
+ if (message.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RunReportJobRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RunReportJobRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobRequest} message RunReportJobRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunReportJobRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RunReportJobRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.RunReportJobRequest} RunReportJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunReportJobRequest.decode = function 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.channel.v1.RunReportJobRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.dateRange = $root.google.cloud.channel.v1.DateRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.filter = reader.string();
+ break;
+ }
+ case 4: {
+ message.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RunReportJobRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.RunReportJobRequest} RunReportJobRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunReportJobRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RunReportJobRequest message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RunReportJobRequest.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.dateRange != null && message.hasOwnProperty("dateRange")) {
+ var error = $root.google.cloud.channel.v1.DateRange.verify(message.dateRange);
+ if (error)
+ return "dateRange." + error;
+ }
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ if (!$util.isString(message.filter))
+ return "filter: string expected";
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a RunReportJobRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.RunReportJobRequest} RunReportJobRequest
+ */
+ RunReportJobRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.RunReportJobRequest)
+ return object;
+ var message = new $root.google.cloud.channel.v1.RunReportJobRequest();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.dateRange != null) {
+ if (typeof object.dateRange !== "object")
+ throw TypeError(".google.cloud.channel.v1.RunReportJobRequest.dateRange: object expected");
+ message.dateRange = $root.google.cloud.channel.v1.DateRange.fromObject(object.dateRange);
+ }
+ if (object.filter != null)
+ message.filter = String(object.filter);
+ if (object.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RunReportJobRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {google.cloud.channel.v1.RunReportJobRequest} message RunReportJobRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RunReportJobRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.dateRange = null;
+ object.filter = "";
+ object.languageCode = "";
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.dateRange != null && message.hasOwnProperty("dateRange"))
+ object.dateRange = $root.google.cloud.channel.v1.DateRange.toObject(message.dateRange, options);
+ if (message.filter != null && message.hasOwnProperty("filter"))
+ object.filter = message.filter;
+ if (message.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this RunReportJobRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RunReportJobRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RunReportJobRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.RunReportJobRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RunReportJobRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.RunReportJobRequest";
+ };
+
+ return RunReportJobRequest;
+ })();
+
+ v1.RunReportJobResponse = (function() {
+
+ /**
+ * Properties of a RunReportJobResponse.
+ * @memberof google.cloud.channel.v1
+ * @interface IRunReportJobResponse
+ * @property {google.cloud.channel.v1.IReportJob|null} [reportJob] RunReportJobResponse reportJob
+ * @property {google.cloud.channel.v1.IReportResultsMetadata|null} [reportMetadata] RunReportJobResponse reportMetadata
+ */
+
+ /**
+ * Constructs a new RunReportJobResponse.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a RunReportJobResponse.
+ * @implements IRunReportJobResponse
+ * @constructor
+ * @param {google.cloud.channel.v1.IRunReportJobResponse=} [properties] Properties to set
+ */
+ function RunReportJobResponse(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]];
+ }
+
+ /**
+ * RunReportJobResponse reportJob.
+ * @member {google.cloud.channel.v1.IReportJob|null|undefined} reportJob
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @instance
+ */
+ RunReportJobResponse.prototype.reportJob = null;
+
+ /**
+ * RunReportJobResponse reportMetadata.
+ * @member {google.cloud.channel.v1.IReportResultsMetadata|null|undefined} reportMetadata
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @instance
+ */
+ RunReportJobResponse.prototype.reportMetadata = null;
+
+ /**
+ * Creates a new RunReportJobResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobResponse=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.RunReportJobResponse} RunReportJobResponse instance
+ */
+ RunReportJobResponse.create = function create(properties) {
+ return new RunReportJobResponse(properties);
+ };
+
+ /**
+ * Encodes the specified RunReportJobResponse message. Does not implicitly {@link google.cloud.channel.v1.RunReportJobResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobResponse} message RunReportJobResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunReportJobResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reportJob != null && Object.hasOwnProperty.call(message, "reportJob"))
+ $root.google.cloud.channel.v1.ReportJob.encode(message.reportJob, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.reportMetadata != null && Object.hasOwnProperty.call(message, "reportMetadata"))
+ $root.google.cloud.channel.v1.ReportResultsMetadata.encode(message.reportMetadata, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified RunReportJobResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.RunReportJobResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {google.cloud.channel.v1.IRunReportJobResponse} message RunReportJobResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ RunReportJobResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a RunReportJobResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.RunReportJobResponse} RunReportJobResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunReportJobResponse.decode = function 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.channel.v1.RunReportJobResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reportJob = $root.google.cloud.channel.v1.ReportJob.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a RunReportJobResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.RunReportJobResponse} RunReportJobResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ RunReportJobResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a RunReportJobResponse message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ RunReportJobResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reportJob != null && message.hasOwnProperty("reportJob")) {
+ var error = $root.google.cloud.channel.v1.ReportJob.verify(message.reportJob);
+ if (error)
+ return "reportJob." + error;
+ }
+ if (message.reportMetadata != null && message.hasOwnProperty("reportMetadata")) {
+ var error = $root.google.cloud.channel.v1.ReportResultsMetadata.verify(message.reportMetadata);
+ if (error)
+ return "reportMetadata." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a RunReportJobResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.RunReportJobResponse} RunReportJobResponse
+ */
+ RunReportJobResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.RunReportJobResponse)
+ return object;
+ var message = new $root.google.cloud.channel.v1.RunReportJobResponse();
+ if (object.reportJob != null) {
+ if (typeof object.reportJob !== "object")
+ throw TypeError(".google.cloud.channel.v1.RunReportJobResponse.reportJob: object expected");
+ message.reportJob = $root.google.cloud.channel.v1.ReportJob.fromObject(object.reportJob);
+ }
+ if (object.reportMetadata != null) {
+ if (typeof object.reportMetadata !== "object")
+ throw TypeError(".google.cloud.channel.v1.RunReportJobResponse.reportMetadata: object expected");
+ message.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.fromObject(object.reportMetadata);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a RunReportJobResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {google.cloud.channel.v1.RunReportJobResponse} message RunReportJobResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ RunReportJobResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.reportJob = null;
+ object.reportMetadata = null;
+ }
+ if (message.reportJob != null && message.hasOwnProperty("reportJob"))
+ object.reportJob = $root.google.cloud.channel.v1.ReportJob.toObject(message.reportJob, options);
+ if (message.reportMetadata != null && message.hasOwnProperty("reportMetadata"))
+ object.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.toObject(message.reportMetadata, options);
+ return object;
+ };
+
+ /**
+ * Converts this RunReportJobResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ RunReportJobResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for RunReportJobResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.RunReportJobResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ RunReportJobResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.RunReportJobResponse";
+ };
+
+ return RunReportJobResponse;
+ })();
+
+ v1.FetchReportResultsRequest = (function() {
+
+ /**
+ * Properties of a FetchReportResultsRequest.
+ * @memberof google.cloud.channel.v1
+ * @interface IFetchReportResultsRequest
+ * @property {string|null} [reportJob] FetchReportResultsRequest reportJob
+ * @property {number|null} [pageSize] FetchReportResultsRequest pageSize
+ * @property {string|null} [pageToken] FetchReportResultsRequest pageToken
+ */
+
+ /**
+ * Constructs a new FetchReportResultsRequest.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a FetchReportResultsRequest.
+ * @implements IFetchReportResultsRequest
+ * @constructor
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest=} [properties] Properties to set
+ */
+ function FetchReportResultsRequest(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]];
+ }
+
+ /**
+ * FetchReportResultsRequest reportJob.
+ * @member {string} reportJob
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @instance
+ */
+ FetchReportResultsRequest.prototype.reportJob = "";
+
+ /**
+ * FetchReportResultsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @instance
+ */
+ FetchReportResultsRequest.prototype.pageSize = 0;
+
+ /**
+ * FetchReportResultsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @instance
+ */
+ FetchReportResultsRequest.prototype.pageToken = "";
+
+ /**
+ * Creates a new FetchReportResultsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.FetchReportResultsRequest} FetchReportResultsRequest instance
+ */
+ FetchReportResultsRequest.create = function create(properties) {
+ return new FetchReportResultsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified FetchReportResultsRequest message. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest} message FetchReportResultsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FetchReportResultsRequest.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reportJob != null && Object.hasOwnProperty.call(message, "reportJob"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.reportJob);
+ if (message.pageSize != null && Object.hasOwnProperty.call(message, "pageSize"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int32(message.pageSize);
+ if (message.pageToken != null && Object.hasOwnProperty.call(message, "pageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.pageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FetchReportResultsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsRequest} message FetchReportResultsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FetchReportResultsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FetchReportResultsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.FetchReportResultsRequest} FetchReportResultsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FetchReportResultsRequest.decode = function 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.channel.v1.FetchReportResultsRequest();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reportJob = 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 FetchReportResultsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.FetchReportResultsRequest} FetchReportResultsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FetchReportResultsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FetchReportResultsRequest message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FetchReportResultsRequest.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reportJob != null && message.hasOwnProperty("reportJob"))
+ if (!$util.isString(message.reportJob))
+ return "reportJob: 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 FetchReportResultsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.FetchReportResultsRequest} FetchReportResultsRequest
+ */
+ FetchReportResultsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.FetchReportResultsRequest)
+ return object;
+ var message = new $root.google.cloud.channel.v1.FetchReportResultsRequest();
+ if (object.reportJob != null)
+ message.reportJob = String(object.reportJob);
+ 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 FetchReportResultsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {google.cloud.channel.v1.FetchReportResultsRequest} message FetchReportResultsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FetchReportResultsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.reportJob = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ }
+ if (message.reportJob != null && message.hasOwnProperty("reportJob"))
+ object.reportJob = message.reportJob;
+ if (message.pageSize != null && message.hasOwnProperty("pageSize"))
+ object.pageSize = message.pageSize;
+ if (message.pageToken != null && message.hasOwnProperty("pageToken"))
+ object.pageToken = message.pageToken;
+ return object;
+ };
+
+ /**
+ * Converts this FetchReportResultsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FetchReportResultsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FetchReportResultsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.FetchReportResultsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FetchReportResultsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.FetchReportResultsRequest";
+ };
+
+ return FetchReportResultsRequest;
+ })();
+
+ v1.FetchReportResultsResponse = (function() {
+
+ /**
+ * Properties of a FetchReportResultsResponse.
+ * @memberof google.cloud.channel.v1
+ * @interface IFetchReportResultsResponse
+ * @property {google.cloud.channel.v1.IReportResultsMetadata|null} [reportMetadata] FetchReportResultsResponse reportMetadata
+ * @property {Array.|null} [rows] FetchReportResultsResponse rows
+ * @property {string|null} [nextPageToken] FetchReportResultsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new FetchReportResultsResponse.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a FetchReportResultsResponse.
+ * @implements IFetchReportResultsResponse
+ * @constructor
+ * @param {google.cloud.channel.v1.IFetchReportResultsResponse=} [properties] Properties to set
+ */
+ function FetchReportResultsResponse(properties) {
+ this.rows = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * FetchReportResultsResponse reportMetadata.
+ * @member {google.cloud.channel.v1.IReportResultsMetadata|null|undefined} reportMetadata
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @instance
+ */
+ FetchReportResultsResponse.prototype.reportMetadata = null;
+
+ /**
+ * FetchReportResultsResponse rows.
+ * @member {Array.} rows
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @instance
+ */
+ FetchReportResultsResponse.prototype.rows = $util.emptyArray;
+
+ /**
+ * FetchReportResultsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @instance
+ */
+ FetchReportResultsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new FetchReportResultsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsResponse=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.FetchReportResultsResponse} FetchReportResultsResponse instance
+ */
+ FetchReportResultsResponse.create = function create(properties) {
+ return new FetchReportResultsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified FetchReportResultsResponse message. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsResponse} message FetchReportResultsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FetchReportResultsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reportMetadata != null && Object.hasOwnProperty.call(message, "reportMetadata"))
+ $root.google.cloud.channel.v1.ReportResultsMetadata.encode(message.reportMetadata, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.rows != null && message.rows.length)
+ for (var i = 0; i < message.rows.length; ++i)
+ $root.google.cloud.channel.v1.Row.encode(message.rows[i], writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.nextPageToken != null && Object.hasOwnProperty.call(message, "nextPageToken"))
+ writer.uint32(/* id 3, wireType 2 =*/26).string(message.nextPageToken);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified FetchReportResultsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.FetchReportResultsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IFetchReportResultsResponse} message FetchReportResultsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ FetchReportResultsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a FetchReportResultsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.FetchReportResultsResponse} FetchReportResultsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FetchReportResultsResponse.decode = function 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.channel.v1.FetchReportResultsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ if (!(message.rows && message.rows.length))
+ message.rows = [];
+ message.rows.push($root.google.cloud.channel.v1.Row.decode(reader, reader.uint32()));
+ break;
+ }
+ case 3: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a FetchReportResultsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.FetchReportResultsResponse} FetchReportResultsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ FetchReportResultsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a FetchReportResultsResponse message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ FetchReportResultsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reportMetadata != null && message.hasOwnProperty("reportMetadata")) {
+ var error = $root.google.cloud.channel.v1.ReportResultsMetadata.verify(message.reportMetadata);
+ if (error)
+ return "reportMetadata." + error;
+ }
+ if (message.rows != null && message.hasOwnProperty("rows")) {
+ if (!Array.isArray(message.rows))
+ return "rows: array expected";
+ for (var i = 0; i < message.rows.length; ++i) {
+ var error = $root.google.cloud.channel.v1.Row.verify(message.rows[i]);
+ if (error)
+ return "rows." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a FetchReportResultsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.FetchReportResultsResponse} FetchReportResultsResponse
+ */
+ FetchReportResultsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.FetchReportResultsResponse)
+ return object;
+ var message = new $root.google.cloud.channel.v1.FetchReportResultsResponse();
+ if (object.reportMetadata != null) {
+ if (typeof object.reportMetadata !== "object")
+ throw TypeError(".google.cloud.channel.v1.FetchReportResultsResponse.reportMetadata: object expected");
+ message.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.fromObject(object.reportMetadata);
+ }
+ if (object.rows) {
+ if (!Array.isArray(object.rows))
+ throw TypeError(".google.cloud.channel.v1.FetchReportResultsResponse.rows: array expected");
+ message.rows = [];
+ for (var i = 0; i < object.rows.length; ++i) {
+ if (typeof object.rows[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.FetchReportResultsResponse.rows: object expected");
+ message.rows[i] = $root.google.cloud.channel.v1.Row.fromObject(object.rows[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a FetchReportResultsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {google.cloud.channel.v1.FetchReportResultsResponse} message FetchReportResultsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ FetchReportResultsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.rows = [];
+ if (options.defaults) {
+ object.reportMetadata = null;
+ object.nextPageToken = "";
+ }
+ if (message.reportMetadata != null && message.hasOwnProperty("reportMetadata"))
+ object.reportMetadata = $root.google.cloud.channel.v1.ReportResultsMetadata.toObject(message.reportMetadata, options);
+ if (message.rows && message.rows.length) {
+ object.rows = [];
+ for (var j = 0; j < message.rows.length; ++j)
+ object.rows[j] = $root.google.cloud.channel.v1.Row.toObject(message.rows[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this FetchReportResultsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ FetchReportResultsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for FetchReportResultsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.FetchReportResultsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ FetchReportResultsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.FetchReportResultsResponse";
+ };
+
+ return FetchReportResultsResponse;
+ })();
+
+ v1.ListReportsRequest = (function() {
+
+ /**
+ * Properties of a ListReportsRequest.
+ * @memberof google.cloud.channel.v1
+ * @interface IListReportsRequest
+ * @property {string|null} [parent] ListReportsRequest parent
+ * @property {number|null} [pageSize] ListReportsRequest pageSize
+ * @property {string|null} [pageToken] ListReportsRequest pageToken
+ * @property {string|null} [languageCode] ListReportsRequest languageCode
+ */
+
+ /**
+ * Constructs a new ListReportsRequest.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ListReportsRequest.
+ * @implements IListReportsRequest
+ * @constructor
+ * @param {google.cloud.channel.v1.IListReportsRequest=} [properties] Properties to set
+ */
+ function ListReportsRequest(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]];
+ }
+
+ /**
+ * ListReportsRequest parent.
+ * @member {string} parent
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @instance
+ */
+ ListReportsRequest.prototype.parent = "";
+
+ /**
+ * ListReportsRequest pageSize.
+ * @member {number} pageSize
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @instance
+ */
+ ListReportsRequest.prototype.pageSize = 0;
+
+ /**
+ * ListReportsRequest pageToken.
+ * @member {string} pageToken
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @instance
+ */
+ ListReportsRequest.prototype.pageToken = "";
+
+ /**
+ * ListReportsRequest languageCode.
+ * @member {string} languageCode
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @instance
+ */
+ ListReportsRequest.prototype.languageCode = "";
+
+ /**
+ * Creates a new ListReportsRequest instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsRequest=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ListReportsRequest} ListReportsRequest instance
+ */
+ ListReportsRequest.create = function create(properties) {
+ return new ListReportsRequest(properties);
+ };
+
+ /**
+ * Encodes the specified ListReportsRequest message. Does not implicitly {@link google.cloud.channel.v1.ListReportsRequest.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsRequest} message ListReportsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListReportsRequest.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.languageCode != null && Object.hasOwnProperty.call(message, "languageCode"))
+ writer.uint32(/* id 4, wireType 2 =*/34).string(message.languageCode);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ListReportsRequest message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListReportsRequest.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsRequest} message ListReportsRequest message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListReportsRequest.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListReportsRequest message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ListReportsRequest} ListReportsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListReportsRequest.decode = function 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.channel.v1.ListReportsRequest();
+ 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.languageCode = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListReportsRequest message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ListReportsRequest} ListReportsRequest
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListReportsRequest.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListReportsRequest message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListReportsRequest.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.languageCode != null && message.hasOwnProperty("languageCode"))
+ if (!$util.isString(message.languageCode))
+ return "languageCode: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListReportsRequest message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ListReportsRequest} ListReportsRequest
+ */
+ ListReportsRequest.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ListReportsRequest)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ListReportsRequest();
+ 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.languageCode != null)
+ message.languageCode = String(object.languageCode);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListReportsRequest message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {google.cloud.channel.v1.ListReportsRequest} message ListReportsRequest
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListReportsRequest.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.parent = "";
+ object.pageSize = 0;
+ object.pageToken = "";
+ object.languageCode = "";
+ }
+ 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.languageCode != null && message.hasOwnProperty("languageCode"))
+ object.languageCode = message.languageCode;
+ return object;
+ };
+
+ /**
+ * Converts this ListReportsRequest to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListReportsRequest.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListReportsRequest
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ListReportsRequest
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListReportsRequest.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ListReportsRequest";
+ };
+
+ return ListReportsRequest;
+ })();
+
+ v1.ListReportsResponse = (function() {
+
+ /**
+ * Properties of a ListReportsResponse.
+ * @memberof google.cloud.channel.v1
+ * @interface IListReportsResponse
+ * @property {Array.|null} [reports] ListReportsResponse reports
+ * @property {string|null} [nextPageToken] ListReportsResponse nextPageToken
+ */
+
+ /**
+ * Constructs a new ListReportsResponse.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ListReportsResponse.
+ * @implements IListReportsResponse
+ * @constructor
+ * @param {google.cloud.channel.v1.IListReportsResponse=} [properties] Properties to set
+ */
+ function ListReportsResponse(properties) {
+ this.reports = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * ListReportsResponse reports.
+ * @member {Array.} reports
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @instance
+ */
+ ListReportsResponse.prototype.reports = $util.emptyArray;
+
+ /**
+ * ListReportsResponse nextPageToken.
+ * @member {string} nextPageToken
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @instance
+ */
+ ListReportsResponse.prototype.nextPageToken = "";
+
+ /**
+ * Creates a new ListReportsResponse instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsResponse=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ListReportsResponse} ListReportsResponse instance
+ */
+ ListReportsResponse.create = function create(properties) {
+ return new ListReportsResponse(properties);
+ };
+
+ /**
+ * Encodes the specified ListReportsResponse message. Does not implicitly {@link google.cloud.channel.v1.ListReportsResponse.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsResponse} message ListReportsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListReportsResponse.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.reports != null && message.reports.length)
+ for (var i = 0; i < message.reports.length; ++i)
+ $root.google.cloud.channel.v1.Report.encode(message.reports[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 ListReportsResponse message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ListReportsResponse.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {google.cloud.channel.v1.IListReportsResponse} message ListReportsResponse message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ListReportsResponse.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ListReportsResponse message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ListReportsResponse} ListReportsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListReportsResponse.decode = function 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.channel.v1.ListReportsResponse();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.reports && message.reports.length))
+ message.reports = [];
+ message.reports.push($root.google.cloud.channel.v1.Report.decode(reader, reader.uint32()));
+ break;
+ }
+ case 2: {
+ message.nextPageToken = reader.string();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ListReportsResponse message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ListReportsResponse} ListReportsResponse
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ListReportsResponse.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ListReportsResponse message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ListReportsResponse.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.reports != null && message.hasOwnProperty("reports")) {
+ if (!Array.isArray(message.reports))
+ return "reports: array expected";
+ for (var i = 0; i < message.reports.length; ++i) {
+ var error = $root.google.cloud.channel.v1.Report.verify(message.reports[i]);
+ if (error)
+ return "reports." + error;
+ }
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ if (!$util.isString(message.nextPageToken))
+ return "nextPageToken: string expected";
+ return null;
+ };
+
+ /**
+ * Creates a ListReportsResponse message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ListReportsResponse} ListReportsResponse
+ */
+ ListReportsResponse.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ListReportsResponse)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ListReportsResponse();
+ if (object.reports) {
+ if (!Array.isArray(object.reports))
+ throw TypeError(".google.cloud.channel.v1.ListReportsResponse.reports: array expected");
+ message.reports = [];
+ for (var i = 0; i < object.reports.length; ++i) {
+ if (typeof object.reports[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.ListReportsResponse.reports: object expected");
+ message.reports[i] = $root.google.cloud.channel.v1.Report.fromObject(object.reports[i]);
+ }
+ }
+ if (object.nextPageToken != null)
+ message.nextPageToken = String(object.nextPageToken);
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ListReportsResponse message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {google.cloud.channel.v1.ListReportsResponse} message ListReportsResponse
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ListReportsResponse.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.reports = [];
+ if (options.defaults)
+ object.nextPageToken = "";
+ if (message.reports && message.reports.length) {
+ object.reports = [];
+ for (var j = 0; j < message.reports.length; ++j)
+ object.reports[j] = $root.google.cloud.channel.v1.Report.toObject(message.reports[j], options);
+ }
+ if (message.nextPageToken != null && message.hasOwnProperty("nextPageToken"))
+ object.nextPageToken = message.nextPageToken;
+ return object;
+ };
+
+ /**
+ * Converts this ListReportsResponse to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ListReportsResponse.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ListReportsResponse
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ListReportsResponse
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ListReportsResponse.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ListReportsResponse";
+ };
+
+ return ListReportsResponse;
+ })();
+
+ v1.ReportJob = (function() {
+
+ /**
+ * Properties of a ReportJob.
+ * @memberof google.cloud.channel.v1
+ * @interface IReportJob
+ * @property {string|null} [name] ReportJob name
+ * @property {google.cloud.channel.v1.IReportStatus|null} [reportStatus] ReportJob reportStatus
+ */
+
+ /**
+ * Constructs a new ReportJob.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ReportJob.
+ * @implements IReportJob
+ * @constructor
+ * @param {google.cloud.channel.v1.IReportJob=} [properties] Properties to set
+ */
+ function ReportJob(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]];
+ }
+
+ /**
+ * ReportJob name.
+ * @member {string} name
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @instance
+ */
+ ReportJob.prototype.name = "";
+
+ /**
+ * ReportJob reportStatus.
+ * @member {google.cloud.channel.v1.IReportStatus|null|undefined} reportStatus
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @instance
+ */
+ ReportJob.prototype.reportStatus = null;
+
+ /**
+ * Creates a new ReportJob instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {google.cloud.channel.v1.IReportJob=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ReportJob} ReportJob instance
+ */
+ ReportJob.create = function create(properties) {
+ return new ReportJob(properties);
+ };
+
+ /**
+ * Encodes the specified ReportJob message. Does not implicitly {@link google.cloud.channel.v1.ReportJob.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {google.cloud.channel.v1.IReportJob} message ReportJob message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportJob.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.reportStatus != null && Object.hasOwnProperty.call(message, "reportStatus"))
+ $root.google.cloud.channel.v1.ReportStatus.encode(message.reportStatus, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReportJob message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportJob.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {google.cloud.channel.v1.IReportJob} message ReportJob message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportJob.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReportJob message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ReportJob} ReportJob
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportJob.decode = function 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.channel.v1.ReportJob();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.name = reader.string();
+ break;
+ }
+ case 2: {
+ message.reportStatus = $root.google.cloud.channel.v1.ReportStatus.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReportJob message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ReportJob} ReportJob
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportJob.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReportJob message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReportJob.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.reportStatus != null && message.hasOwnProperty("reportStatus")) {
+ var error = $root.google.cloud.channel.v1.ReportStatus.verify(message.reportStatus);
+ if (error)
+ return "reportStatus." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ReportJob message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ReportJob} ReportJob
+ */
+ ReportJob.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ReportJob)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ReportJob();
+ if (object.name != null)
+ message.name = String(object.name);
+ if (object.reportStatus != null) {
+ if (typeof object.reportStatus !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportJob.reportStatus: object expected");
+ message.reportStatus = $root.google.cloud.channel.v1.ReportStatus.fromObject(object.reportStatus);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReportJob message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {google.cloud.channel.v1.ReportJob} message ReportJob
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReportJob.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.name = "";
+ object.reportStatus = null;
+ }
+ if (message.name != null && message.hasOwnProperty("name"))
+ object.name = message.name;
+ if (message.reportStatus != null && message.hasOwnProperty("reportStatus"))
+ object.reportStatus = $root.google.cloud.channel.v1.ReportStatus.toObject(message.reportStatus, options);
+ return object;
+ };
+
+ /**
+ * Converts this ReportJob to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReportJob.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReportJob
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ReportJob
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReportJob.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ReportJob";
+ };
+
+ return ReportJob;
+ })();
+
+ v1.ReportResultsMetadata = (function() {
+
+ /**
+ * Properties of a ReportResultsMetadata.
+ * @memberof google.cloud.channel.v1
+ * @interface IReportResultsMetadata
+ * @property {google.cloud.channel.v1.IReport|null} [report] ReportResultsMetadata report
+ * @property {number|Long|null} [rowCount] ReportResultsMetadata rowCount
+ * @property {google.cloud.channel.v1.IDateRange|null} [dateRange] ReportResultsMetadata dateRange
+ * @property {google.cloud.channel.v1.IDateRange|null} [precedingDateRange] ReportResultsMetadata precedingDateRange
+ */
+
+ /**
+ * Constructs a new ReportResultsMetadata.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ReportResultsMetadata.
+ * @implements IReportResultsMetadata
+ * @constructor
+ * @param {google.cloud.channel.v1.IReportResultsMetadata=} [properties] Properties to set
+ */
+ function ReportResultsMetadata(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]];
+ }
+
+ /**
+ * ReportResultsMetadata report.
+ * @member {google.cloud.channel.v1.IReport|null|undefined} report
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @instance
+ */
+ ReportResultsMetadata.prototype.report = null;
+
+ /**
+ * ReportResultsMetadata rowCount.
+ * @member {number|Long} rowCount
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @instance
+ */
+ ReportResultsMetadata.prototype.rowCount = $util.Long ? $util.Long.fromBits(0,0,false) : 0;
+
+ /**
+ * ReportResultsMetadata dateRange.
+ * @member {google.cloud.channel.v1.IDateRange|null|undefined} dateRange
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @instance
+ */
+ ReportResultsMetadata.prototype.dateRange = null;
+
+ /**
+ * ReportResultsMetadata precedingDateRange.
+ * @member {google.cloud.channel.v1.IDateRange|null|undefined} precedingDateRange
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @instance
+ */
+ ReportResultsMetadata.prototype.precedingDateRange = null;
+
+ /**
+ * Creates a new ReportResultsMetadata instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {google.cloud.channel.v1.IReportResultsMetadata=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ReportResultsMetadata} ReportResultsMetadata instance
+ */
+ ReportResultsMetadata.create = function create(properties) {
+ return new ReportResultsMetadata(properties);
+ };
+
+ /**
+ * Encodes the specified ReportResultsMetadata message. Does not implicitly {@link google.cloud.channel.v1.ReportResultsMetadata.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {google.cloud.channel.v1.IReportResultsMetadata} message ReportResultsMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportResultsMetadata.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.report != null && Object.hasOwnProperty.call(message, "report"))
+ $root.google.cloud.channel.v1.Report.encode(message.report, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.rowCount != null && Object.hasOwnProperty.call(message, "rowCount"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.rowCount);
+ if (message.dateRange != null && Object.hasOwnProperty.call(message, "dateRange"))
+ $root.google.cloud.channel.v1.DateRange.encode(message.dateRange, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.precedingDateRange != null && Object.hasOwnProperty.call(message, "precedingDateRange"))
+ $root.google.cloud.channel.v1.DateRange.encode(message.precedingDateRange, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReportResultsMetadata message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportResultsMetadata.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {google.cloud.channel.v1.IReportResultsMetadata} message ReportResultsMetadata message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportResultsMetadata.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReportResultsMetadata message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ReportResultsMetadata} ReportResultsMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportResultsMetadata.decode = function 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.channel.v1.ReportResultsMetadata();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.report = $root.google.cloud.channel.v1.Report.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.rowCount = reader.int64();
+ break;
+ }
+ case 3: {
+ message.dateRange = $root.google.cloud.channel.v1.DateRange.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.precedingDateRange = $root.google.cloud.channel.v1.DateRange.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReportResultsMetadata message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ReportResultsMetadata} ReportResultsMetadata
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportResultsMetadata.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReportResultsMetadata message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReportResultsMetadata.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.report != null && message.hasOwnProperty("report")) {
+ var error = $root.google.cloud.channel.v1.Report.verify(message.report);
+ if (error)
+ return "report." + error;
+ }
+ if (message.rowCount != null && message.hasOwnProperty("rowCount"))
+ if (!$util.isInteger(message.rowCount) && !(message.rowCount && $util.isInteger(message.rowCount.low) && $util.isInteger(message.rowCount.high)))
+ return "rowCount: integer|Long expected";
+ if (message.dateRange != null && message.hasOwnProperty("dateRange")) {
+ var error = $root.google.cloud.channel.v1.DateRange.verify(message.dateRange);
+ if (error)
+ return "dateRange." + error;
+ }
+ if (message.precedingDateRange != null && message.hasOwnProperty("precedingDateRange")) {
+ var error = $root.google.cloud.channel.v1.DateRange.verify(message.precedingDateRange);
+ if (error)
+ return "precedingDateRange." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ReportResultsMetadata message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ReportResultsMetadata} ReportResultsMetadata
+ */
+ ReportResultsMetadata.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ReportResultsMetadata)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ReportResultsMetadata();
+ if (object.report != null) {
+ if (typeof object.report !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportResultsMetadata.report: object expected");
+ message.report = $root.google.cloud.channel.v1.Report.fromObject(object.report);
+ }
+ if (object.rowCount != null)
+ if ($util.Long)
+ (message.rowCount = $util.Long.fromValue(object.rowCount)).unsigned = false;
+ else if (typeof object.rowCount === "string")
+ message.rowCount = parseInt(object.rowCount, 10);
+ else if (typeof object.rowCount === "number")
+ message.rowCount = object.rowCount;
+ else if (typeof object.rowCount === "object")
+ message.rowCount = new $util.LongBits(object.rowCount.low >>> 0, object.rowCount.high >>> 0).toNumber();
+ if (object.dateRange != null) {
+ if (typeof object.dateRange !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportResultsMetadata.dateRange: object expected");
+ message.dateRange = $root.google.cloud.channel.v1.DateRange.fromObject(object.dateRange);
+ }
+ if (object.precedingDateRange != null) {
+ if (typeof object.precedingDateRange !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportResultsMetadata.precedingDateRange: object expected");
+ message.precedingDateRange = $root.google.cloud.channel.v1.DateRange.fromObject(object.precedingDateRange);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReportResultsMetadata message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {google.cloud.channel.v1.ReportResultsMetadata} message ReportResultsMetadata
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReportResultsMetadata.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.report = null;
+ if ($util.Long) {
+ var long = new $util.Long(0, 0, false);
+ object.rowCount = options.longs === String ? long.toString() : options.longs === Number ? long.toNumber() : long;
+ } else
+ object.rowCount = options.longs === String ? "0" : 0;
+ object.dateRange = null;
+ object.precedingDateRange = null;
+ }
+ if (message.report != null && message.hasOwnProperty("report"))
+ object.report = $root.google.cloud.channel.v1.Report.toObject(message.report, options);
+ if (message.rowCount != null && message.hasOwnProperty("rowCount"))
+ if (typeof message.rowCount === "number")
+ object.rowCount = options.longs === String ? String(message.rowCount) : message.rowCount;
+ else
+ object.rowCount = options.longs === String ? $util.Long.prototype.toString.call(message.rowCount) : options.longs === Number ? new $util.LongBits(message.rowCount.low >>> 0, message.rowCount.high >>> 0).toNumber() : message.rowCount;
+ if (message.dateRange != null && message.hasOwnProperty("dateRange"))
+ object.dateRange = $root.google.cloud.channel.v1.DateRange.toObject(message.dateRange, options);
+ if (message.precedingDateRange != null && message.hasOwnProperty("precedingDateRange"))
+ object.precedingDateRange = $root.google.cloud.channel.v1.DateRange.toObject(message.precedingDateRange, options);
+ return object;
+ };
+
+ /**
+ * Converts this ReportResultsMetadata to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ ReportResultsMetadata.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for ReportResultsMetadata
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.ReportResultsMetadata
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ ReportResultsMetadata.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.ReportResultsMetadata";
+ };
+
+ return ReportResultsMetadata;
+ })();
+
+ v1.Column = (function() {
+
+ /**
+ * Properties of a Column.
+ * @memberof google.cloud.channel.v1
+ * @interface IColumn
+ * @property {string|null} [columnId] Column columnId
+ * @property {string|null} [displayName] Column displayName
+ * @property {google.cloud.channel.v1.Column.DataType|null} [dataType] Column dataType
+ */
+
+ /**
+ * Constructs a new Column.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Column.
+ * @implements IColumn
+ * @constructor
+ * @param {google.cloud.channel.v1.IColumn=} [properties] Properties to set
+ */
+ function Column(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]];
+ }
+
+ /**
+ * Column columnId.
+ * @member {string} columnId
+ * @memberof google.cloud.channel.v1.Column
+ * @instance
+ */
+ Column.prototype.columnId = "";
+
+ /**
+ * Column displayName.
+ * @member {string} displayName
+ * @memberof google.cloud.channel.v1.Column
+ * @instance
+ */
+ Column.prototype.displayName = "";
+
+ /**
+ * Column dataType.
+ * @member {google.cloud.channel.v1.Column.DataType} dataType
+ * @memberof google.cloud.channel.v1.Column
+ * @instance
+ */
+ Column.prototype.dataType = 0;
+
+ /**
+ * Creates a new Column instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {google.cloud.channel.v1.IColumn=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Column} Column instance
+ */
+ Column.create = function create(properties) {
+ return new Column(properties);
+ };
+
+ /**
+ * Encodes the specified Column message. Does not implicitly {@link google.cloud.channel.v1.Column.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {google.cloud.channel.v1.IColumn} message Column message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Column.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.columnId != null && Object.hasOwnProperty.call(message, "columnId"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.columnId);
+ if (message.displayName != null && Object.hasOwnProperty.call(message, "displayName"))
+ writer.uint32(/* id 2, wireType 2 =*/18).string(message.displayName);
+ if (message.dataType != null && Object.hasOwnProperty.call(message, "dataType"))
+ writer.uint32(/* id 3, wireType 0 =*/24).int32(message.dataType);
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Column message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Column.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {google.cloud.channel.v1.IColumn} message Column message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Column.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Column message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Column} Column
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Column.decode = function 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.channel.v1.Column();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.columnId = reader.string();
+ break;
+ }
+ case 2: {
+ message.displayName = reader.string();
+ break;
+ }
+ case 3: {
+ message.dataType = reader.int32();
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Column message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Column} Column
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Column.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Column message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Column.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.columnId != null && message.hasOwnProperty("columnId"))
+ if (!$util.isString(message.columnId))
+ return "columnId: string expected";
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ if (!$util.isString(message.displayName))
+ return "displayName: string expected";
+ if (message.dataType != null && message.hasOwnProperty("dataType"))
+ switch (message.dataType) {
+ default:
+ return "dataType: enum value expected";
+ case 0:
+ case 1:
+ case 2:
+ case 3:
+ case 4:
+ case 5:
+ case 6:
+ break;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Column message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Column} Column
+ */
+ Column.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Column)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Column();
+ if (object.columnId != null)
+ message.columnId = String(object.columnId);
+ if (object.displayName != null)
+ message.displayName = String(object.displayName);
+ switch (object.dataType) {
+ default:
+ if (typeof object.dataType === "number") {
+ message.dataType = object.dataType;
+ break;
+ }
+ break;
+ case "DATA_TYPE_UNSPECIFIED":
+ case 0:
+ message.dataType = 0;
+ break;
+ case "STRING":
+ case 1:
+ message.dataType = 1;
+ break;
+ case "INT":
+ case 2:
+ message.dataType = 2;
+ break;
+ case "DECIMAL":
+ case 3:
+ message.dataType = 3;
+ break;
+ case "MONEY":
+ case 4:
+ message.dataType = 4;
+ break;
+ case "DATE":
+ case 5:
+ message.dataType = 5;
+ break;
+ case "DATE_TIME":
+ case 6:
+ message.dataType = 6;
+ break;
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Column message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {google.cloud.channel.v1.Column} message Column
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Column.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.columnId = "";
+ object.displayName = "";
+ object.dataType = options.enums === String ? "DATA_TYPE_UNSPECIFIED" : 0;
+ }
+ if (message.columnId != null && message.hasOwnProperty("columnId"))
+ object.columnId = message.columnId;
+ if (message.displayName != null && message.hasOwnProperty("displayName"))
+ object.displayName = message.displayName;
+ if (message.dataType != null && message.hasOwnProperty("dataType"))
+ object.dataType = options.enums === String ? $root.google.cloud.channel.v1.Column.DataType[message.dataType] === undefined ? message.dataType : $root.google.cloud.channel.v1.Column.DataType[message.dataType] : message.dataType;
+ return object;
+ };
+
+ /**
+ * Converts this Column to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Column
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Column.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Column
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Column
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Column.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Column";
+ };
+
+ /**
+ * DataType enum.
+ * @name google.cloud.channel.v1.Column.DataType
+ * @enum {number}
+ * @property {number} DATA_TYPE_UNSPECIFIED=0 DATA_TYPE_UNSPECIFIED value
+ * @property {number} STRING=1 STRING value
+ * @property {number} INT=2 INT value
+ * @property {number} DECIMAL=3 DECIMAL value
+ * @property {number} MONEY=4 MONEY value
+ * @property {number} DATE=5 DATE value
+ * @property {number} DATE_TIME=6 DATE_TIME value
+ */
+ Column.DataType = (function() {
+ var valuesById = {}, values = Object.create(valuesById);
+ values[valuesById[0] = "DATA_TYPE_UNSPECIFIED"] = 0;
+ values[valuesById[1] = "STRING"] = 1;
+ values[valuesById[2] = "INT"] = 2;
+ values[valuesById[3] = "DECIMAL"] = 3;
+ values[valuesById[4] = "MONEY"] = 4;
+ values[valuesById[5] = "DATE"] = 5;
+ values[valuesById[6] = "DATE_TIME"] = 6;
+ return values;
+ })();
+
+ return Column;
+ })();
+
+ v1.DateRange = (function() {
+
+ /**
+ * Properties of a DateRange.
+ * @memberof google.cloud.channel.v1
+ * @interface IDateRange
+ * @property {google.type.IDateTime|null} [usageStartDateTime] DateRange usageStartDateTime
+ * @property {google.type.IDateTime|null} [usageEndDateTime] DateRange usageEndDateTime
+ * @property {google.type.IDate|null} [invoiceStartDate] DateRange invoiceStartDate
+ * @property {google.type.IDate|null} [invoiceEndDate] DateRange invoiceEndDate
+ */
+
+ /**
+ * Constructs a new DateRange.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a DateRange.
+ * @implements IDateRange
+ * @constructor
+ * @param {google.cloud.channel.v1.IDateRange=} [properties] Properties to set
+ */
+ function DateRange(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]];
+ }
+
+ /**
+ * DateRange usageStartDateTime.
+ * @member {google.type.IDateTime|null|undefined} usageStartDateTime
+ * @memberof google.cloud.channel.v1.DateRange
+ * @instance
+ */
+ DateRange.prototype.usageStartDateTime = null;
+
+ /**
+ * DateRange usageEndDateTime.
+ * @member {google.type.IDateTime|null|undefined} usageEndDateTime
+ * @memberof google.cloud.channel.v1.DateRange
+ * @instance
+ */
+ DateRange.prototype.usageEndDateTime = null;
+
+ /**
+ * DateRange invoiceStartDate.
+ * @member {google.type.IDate|null|undefined} invoiceStartDate
+ * @memberof google.cloud.channel.v1.DateRange
+ * @instance
+ */
+ DateRange.prototype.invoiceStartDate = null;
+
+ /**
+ * DateRange invoiceEndDate.
+ * @member {google.type.IDate|null|undefined} invoiceEndDate
+ * @memberof google.cloud.channel.v1.DateRange
+ * @instance
+ */
+ DateRange.prototype.invoiceEndDate = null;
+
+ /**
+ * Creates a new DateRange instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {google.cloud.channel.v1.IDateRange=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.DateRange} DateRange instance
+ */
+ DateRange.create = function create(properties) {
+ return new DateRange(properties);
+ };
+
+ /**
+ * Encodes the specified DateRange message. Does not implicitly {@link google.cloud.channel.v1.DateRange.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {google.cloud.channel.v1.IDateRange} message DateRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DateRange.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.usageStartDateTime != null && Object.hasOwnProperty.call(message, "usageStartDateTime"))
+ $root.google.type.DateTime.encode(message.usageStartDateTime, writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ if (message.usageEndDateTime != null && Object.hasOwnProperty.call(message, "usageEndDateTime"))
+ $root.google.type.DateTime.encode(message.usageEndDateTime, writer.uint32(/* id 2, wireType 2 =*/18).fork()).ldelim();
+ if (message.invoiceStartDate != null && Object.hasOwnProperty.call(message, "invoiceStartDate"))
+ $root.google.type.Date.encode(message.invoiceStartDate, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.invoiceEndDate != null && Object.hasOwnProperty.call(message, "invoiceEndDate"))
+ $root.google.type.Date.encode(message.invoiceEndDate, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified DateRange message, length delimited. Does not implicitly {@link google.cloud.channel.v1.DateRange.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {google.cloud.channel.v1.IDateRange} message DateRange message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ DateRange.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a DateRange message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.DateRange} DateRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DateRange.decode = function 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.channel.v1.DateRange();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.usageStartDateTime = $root.google.type.DateTime.decode(reader, reader.uint32());
+ break;
+ }
+ case 2: {
+ message.usageEndDateTime = $root.google.type.DateTime.decode(reader, reader.uint32());
+ break;
+ }
+ case 3: {
+ message.invoiceStartDate = $root.google.type.Date.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.invoiceEndDate = $root.google.type.Date.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a DateRange message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.DateRange} DateRange
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ DateRange.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a DateRange message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ DateRange.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.usageStartDateTime != null && message.hasOwnProperty("usageStartDateTime")) {
+ var error = $root.google.type.DateTime.verify(message.usageStartDateTime);
+ if (error)
+ return "usageStartDateTime." + error;
+ }
+ if (message.usageEndDateTime != null && message.hasOwnProperty("usageEndDateTime")) {
+ var error = $root.google.type.DateTime.verify(message.usageEndDateTime);
+ if (error)
+ return "usageEndDateTime." + error;
+ }
+ if (message.invoiceStartDate != null && message.hasOwnProperty("invoiceStartDate")) {
+ var error = $root.google.type.Date.verify(message.invoiceStartDate);
+ if (error)
+ return "invoiceStartDate." + error;
+ }
+ if (message.invoiceEndDate != null && message.hasOwnProperty("invoiceEndDate")) {
+ var error = $root.google.type.Date.verify(message.invoiceEndDate);
+ if (error)
+ return "invoiceEndDate." + error;
+ }
+ return null;
+ };
+
+ /**
+ * Creates a DateRange message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.DateRange} DateRange
+ */
+ DateRange.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.DateRange)
+ return object;
+ var message = new $root.google.cloud.channel.v1.DateRange();
+ if (object.usageStartDateTime != null) {
+ if (typeof object.usageStartDateTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.DateRange.usageStartDateTime: object expected");
+ message.usageStartDateTime = $root.google.type.DateTime.fromObject(object.usageStartDateTime);
+ }
+ if (object.usageEndDateTime != null) {
+ if (typeof object.usageEndDateTime !== "object")
+ throw TypeError(".google.cloud.channel.v1.DateRange.usageEndDateTime: object expected");
+ message.usageEndDateTime = $root.google.type.DateTime.fromObject(object.usageEndDateTime);
+ }
+ if (object.invoiceStartDate != null) {
+ if (typeof object.invoiceStartDate !== "object")
+ throw TypeError(".google.cloud.channel.v1.DateRange.invoiceStartDate: object expected");
+ message.invoiceStartDate = $root.google.type.Date.fromObject(object.invoiceStartDate);
+ }
+ if (object.invoiceEndDate != null) {
+ if (typeof object.invoiceEndDate !== "object")
+ throw TypeError(".google.cloud.channel.v1.DateRange.invoiceEndDate: object expected");
+ message.invoiceEndDate = $root.google.type.Date.fromObject(object.invoiceEndDate);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a DateRange message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {google.cloud.channel.v1.DateRange} message DateRange
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ DateRange.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.defaults) {
+ object.usageStartDateTime = null;
+ object.usageEndDateTime = null;
+ object.invoiceStartDate = null;
+ object.invoiceEndDate = null;
+ }
+ if (message.usageStartDateTime != null && message.hasOwnProperty("usageStartDateTime"))
+ object.usageStartDateTime = $root.google.type.DateTime.toObject(message.usageStartDateTime, options);
+ if (message.usageEndDateTime != null && message.hasOwnProperty("usageEndDateTime"))
+ object.usageEndDateTime = $root.google.type.DateTime.toObject(message.usageEndDateTime, options);
+ if (message.invoiceStartDate != null && message.hasOwnProperty("invoiceStartDate"))
+ object.invoiceStartDate = $root.google.type.Date.toObject(message.invoiceStartDate, options);
+ if (message.invoiceEndDate != null && message.hasOwnProperty("invoiceEndDate"))
+ object.invoiceEndDate = $root.google.type.Date.toObject(message.invoiceEndDate, options);
+ return object;
+ };
+
+ /**
+ * Converts this DateRange to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.DateRange
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ DateRange.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for DateRange
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.DateRange
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ DateRange.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.DateRange";
+ };
+
+ return DateRange;
+ })();
+
+ v1.Row = (function() {
+
+ /**
+ * Properties of a Row.
+ * @memberof google.cloud.channel.v1
+ * @interface IRow
+ * @property {Array.|null} [values] Row values
+ */
+
+ /**
+ * Constructs a new Row.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a Row.
+ * @implements IRow
+ * @constructor
+ * @param {google.cloud.channel.v1.IRow=} [properties] Properties to set
+ */
+ function Row(properties) {
+ this.values = [];
+ if (properties)
+ for (var keys = Object.keys(properties), i = 0; i < keys.length; ++i)
+ if (properties[keys[i]] != null)
+ this[keys[i]] = properties[keys[i]];
+ }
+
+ /**
+ * Row values.
+ * @member {Array.} values
+ * @memberof google.cloud.channel.v1.Row
+ * @instance
+ */
+ Row.prototype.values = $util.emptyArray;
+
+ /**
+ * Creates a new Row instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {google.cloud.channel.v1.IRow=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.Row} Row instance
+ */
+ Row.create = function create(properties) {
+ return new Row(properties);
+ };
+
+ /**
+ * Encodes the specified Row message. Does not implicitly {@link google.cloud.channel.v1.Row.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {google.cloud.channel.v1.IRow} message Row message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Row.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.values != null && message.values.length)
+ for (var i = 0; i < message.values.length; ++i)
+ $root.google.cloud.channel.v1.ReportValue.encode(message.values[i], writer.uint32(/* id 1, wireType 2 =*/10).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified Row message, length delimited. Does not implicitly {@link google.cloud.channel.v1.Row.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {google.cloud.channel.v1.IRow} message Row message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ Row.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a Row message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.Row} Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Row.decode = function 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.channel.v1.Row();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ if (!(message.values && message.values.length))
+ message.values = [];
+ message.values.push($root.google.cloud.channel.v1.ReportValue.decode(reader, reader.uint32()));
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a Row message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.Row} Row
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ Row.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a Row message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ Row.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ if (message.values != null && message.hasOwnProperty("values")) {
+ if (!Array.isArray(message.values))
+ return "values: array expected";
+ for (var i = 0; i < message.values.length; ++i) {
+ var error = $root.google.cloud.channel.v1.ReportValue.verify(message.values[i]);
+ if (error)
+ return "values." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a Row message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.Row} Row
+ */
+ Row.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.Row)
+ return object;
+ var message = new $root.google.cloud.channel.v1.Row();
+ if (object.values) {
+ if (!Array.isArray(object.values))
+ throw TypeError(".google.cloud.channel.v1.Row.values: array expected");
+ message.values = [];
+ for (var i = 0; i < object.values.length; ++i) {
+ if (typeof object.values[i] !== "object")
+ throw TypeError(".google.cloud.channel.v1.Row.values: object expected");
+ message.values[i] = $root.google.cloud.channel.v1.ReportValue.fromObject(object.values[i]);
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a Row message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {google.cloud.channel.v1.Row} message Row
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ Row.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (options.arrays || options.defaults)
+ object.values = [];
+ if (message.values && message.values.length) {
+ object.values = [];
+ for (var j = 0; j < message.values.length; ++j)
+ object.values[j] = $root.google.cloud.channel.v1.ReportValue.toObject(message.values[j], options);
+ }
+ return object;
+ };
+
+ /**
+ * Converts this Row to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.Row
+ * @instance
+ * @returns {Object.} JSON object
+ */
+ Row.prototype.toJSON = function toJSON() {
+ return this.constructor.toObject(this, $protobuf.util.toJSONOptions);
+ };
+
+ /**
+ * Gets the default type url for Row
+ * @function getTypeUrl
+ * @memberof google.cloud.channel.v1.Row
+ * @static
+ * @param {string} [typeUrlPrefix] your custom typeUrlPrefix(default "type.googleapis.com")
+ * @returns {string} The default type url
+ */
+ Row.getTypeUrl = function getTypeUrl(typeUrlPrefix) {
+ if (typeUrlPrefix === undefined) {
+ typeUrlPrefix = "type.googleapis.com";
+ }
+ return typeUrlPrefix + "/google.cloud.channel.v1.Row";
+ };
+
+ return Row;
+ })();
+
+ v1.ReportValue = (function() {
+
+ /**
+ * Properties of a ReportValue.
+ * @memberof google.cloud.channel.v1
+ * @interface IReportValue
+ * @property {string|null} [stringValue] ReportValue stringValue
+ * @property {number|Long|null} [intValue] ReportValue intValue
+ * @property {google.type.IDecimal|null} [decimalValue] ReportValue decimalValue
+ * @property {google.type.IMoney|null} [moneyValue] ReportValue moneyValue
+ * @property {google.type.IDate|null} [dateValue] ReportValue dateValue
+ * @property {google.type.IDateTime|null} [dateTimeValue] ReportValue dateTimeValue
+ */
+
+ /**
+ * Constructs a new ReportValue.
+ * @memberof google.cloud.channel.v1
+ * @classdesc Represents a ReportValue.
+ * @implements IReportValue
+ * @constructor
+ * @param {google.cloud.channel.v1.IReportValue=} [properties] Properties to set
+ */
+ function ReportValue(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]];
+ }
+
+ /**
+ * ReportValue stringValue.
+ * @member {string|null|undefined} stringValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.stringValue = null;
+
+ /**
+ * ReportValue intValue.
+ * @member {number|Long|null|undefined} intValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.intValue = null;
+
+ /**
+ * ReportValue decimalValue.
+ * @member {google.type.IDecimal|null|undefined} decimalValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.decimalValue = null;
+
+ /**
+ * ReportValue moneyValue.
+ * @member {google.type.IMoney|null|undefined} moneyValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.moneyValue = null;
+
+ /**
+ * ReportValue dateValue.
+ * @member {google.type.IDate|null|undefined} dateValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.dateValue = null;
+
+ /**
+ * ReportValue dateTimeValue.
+ * @member {google.type.IDateTime|null|undefined} dateTimeValue
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ ReportValue.prototype.dateTimeValue = null;
+
+ // OneOf field names bound to virtual getters and setters
+ var $oneOfFields;
+
+ /**
+ * ReportValue value.
+ * @member {"stringValue"|"intValue"|"decimalValue"|"moneyValue"|"dateValue"|"dateTimeValue"|undefined} value
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ */
+ Object.defineProperty(ReportValue.prototype, "value", {
+ get: $util.oneOfGetter($oneOfFields = ["stringValue", "intValue", "decimalValue", "moneyValue", "dateValue", "dateTimeValue"]),
+ set: $util.oneOfSetter($oneOfFields)
+ });
+
+ /**
+ * Creates a new ReportValue instance using the specified properties.
+ * @function create
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {google.cloud.channel.v1.IReportValue=} [properties] Properties to set
+ * @returns {google.cloud.channel.v1.ReportValue} ReportValue instance
+ */
+ ReportValue.create = function create(properties) {
+ return new ReportValue(properties);
+ };
+
+ /**
+ * Encodes the specified ReportValue message. Does not implicitly {@link google.cloud.channel.v1.ReportValue.verify|verify} messages.
+ * @function encode
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {google.cloud.channel.v1.IReportValue} message ReportValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportValue.encode = function encode(message, writer) {
+ if (!writer)
+ writer = $Writer.create();
+ if (message.stringValue != null && Object.hasOwnProperty.call(message, "stringValue"))
+ writer.uint32(/* id 1, wireType 2 =*/10).string(message.stringValue);
+ if (message.intValue != null && Object.hasOwnProperty.call(message, "intValue"))
+ writer.uint32(/* id 2, wireType 0 =*/16).int64(message.intValue);
+ if (message.decimalValue != null && Object.hasOwnProperty.call(message, "decimalValue"))
+ $root.google.type.Decimal.encode(message.decimalValue, writer.uint32(/* id 3, wireType 2 =*/26).fork()).ldelim();
+ if (message.moneyValue != null && Object.hasOwnProperty.call(message, "moneyValue"))
+ $root.google.type.Money.encode(message.moneyValue, writer.uint32(/* id 4, wireType 2 =*/34).fork()).ldelim();
+ if (message.dateValue != null && Object.hasOwnProperty.call(message, "dateValue"))
+ $root.google.type.Date.encode(message.dateValue, writer.uint32(/* id 5, wireType 2 =*/42).fork()).ldelim();
+ if (message.dateTimeValue != null && Object.hasOwnProperty.call(message, "dateTimeValue"))
+ $root.google.type.DateTime.encode(message.dateTimeValue, writer.uint32(/* id 6, wireType 2 =*/50).fork()).ldelim();
+ return writer;
+ };
+
+ /**
+ * Encodes the specified ReportValue message, length delimited. Does not implicitly {@link google.cloud.channel.v1.ReportValue.verify|verify} messages.
+ * @function encodeDelimited
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {google.cloud.channel.v1.IReportValue} message ReportValue message or plain object to encode
+ * @param {$protobuf.Writer} [writer] Writer to encode to
+ * @returns {$protobuf.Writer} Writer
+ */
+ ReportValue.encodeDelimited = function encodeDelimited(message, writer) {
+ return this.encode(message, writer).ldelim();
+ };
+
+ /**
+ * Decodes a ReportValue message from the specified reader or buffer.
+ * @function decode
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @param {number} [length] Message length if known beforehand
+ * @returns {google.cloud.channel.v1.ReportValue} ReportValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportValue.decode = function 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.channel.v1.ReportValue();
+ while (reader.pos < end) {
+ var tag = reader.uint32();
+ switch (tag >>> 3) {
+ case 1: {
+ message.stringValue = reader.string();
+ break;
+ }
+ case 2: {
+ message.intValue = reader.int64();
+ break;
+ }
+ case 3: {
+ message.decimalValue = $root.google.type.Decimal.decode(reader, reader.uint32());
+ break;
+ }
+ case 4: {
+ message.moneyValue = $root.google.type.Money.decode(reader, reader.uint32());
+ break;
+ }
+ case 5: {
+ message.dateValue = $root.google.type.Date.decode(reader, reader.uint32());
+ break;
+ }
+ case 6: {
+ message.dateTimeValue = $root.google.type.DateTime.decode(reader, reader.uint32());
+ break;
+ }
+ default:
+ reader.skipType(tag & 7);
+ break;
+ }
+ }
+ return message;
+ };
+
+ /**
+ * Decodes a ReportValue message from the specified reader or buffer, length delimited.
+ * @function decodeDelimited
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {$protobuf.Reader|Uint8Array} reader Reader or buffer to decode from
+ * @returns {google.cloud.channel.v1.ReportValue} ReportValue
+ * @throws {Error} If the payload is not a reader or valid buffer
+ * @throws {$protobuf.util.ProtocolError} If required fields are missing
+ */
+ ReportValue.decodeDelimited = function decodeDelimited(reader) {
+ if (!(reader instanceof $Reader))
+ reader = new $Reader(reader);
+ return this.decode(reader, reader.uint32());
+ };
+
+ /**
+ * Verifies a ReportValue message.
+ * @function verify
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {Object.} message Plain object to verify
+ * @returns {string|null} `null` if valid, otherwise the reason why it is not
+ */
+ ReportValue.verify = function verify(message) {
+ if (typeof message !== "object" || message === null)
+ return "object expected";
+ var properties = {};
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ properties.value = 1;
+ if (!$util.isString(message.stringValue))
+ return "stringValue: string expected";
+ }
+ if (message.intValue != null && message.hasOwnProperty("intValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ if (!$util.isInteger(message.intValue) && !(message.intValue && $util.isInteger(message.intValue.low) && $util.isInteger(message.intValue.high)))
+ return "intValue: integer|Long expected";
+ }
+ if (message.decimalValue != null && message.hasOwnProperty("decimalValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ {
+ var error = $root.google.type.Decimal.verify(message.decimalValue);
+ if (error)
+ return "decimalValue." + error;
+ }
+ }
+ if (message.moneyValue != null && message.hasOwnProperty("moneyValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ {
+ var error = $root.google.type.Money.verify(message.moneyValue);
+ if (error)
+ return "moneyValue." + error;
+ }
+ }
+ if (message.dateValue != null && message.hasOwnProperty("dateValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ {
+ var error = $root.google.type.Date.verify(message.dateValue);
+ if (error)
+ return "dateValue." + error;
+ }
+ }
+ if (message.dateTimeValue != null && message.hasOwnProperty("dateTimeValue")) {
+ if (properties.value === 1)
+ return "value: multiple values";
+ properties.value = 1;
+ {
+ var error = $root.google.type.DateTime.verify(message.dateTimeValue);
+ if (error)
+ return "dateTimeValue." + error;
+ }
+ }
+ return null;
+ };
+
+ /**
+ * Creates a ReportValue message from a plain object. Also converts values to their respective internal types.
+ * @function fromObject
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {Object.} object Plain object
+ * @returns {google.cloud.channel.v1.ReportValue} ReportValue
+ */
+ ReportValue.fromObject = function fromObject(object) {
+ if (object instanceof $root.google.cloud.channel.v1.ReportValue)
+ return object;
+ var message = new $root.google.cloud.channel.v1.ReportValue();
+ if (object.stringValue != null)
+ message.stringValue = String(object.stringValue);
+ if (object.intValue != null)
+ if ($util.Long)
+ (message.intValue = $util.Long.fromValue(object.intValue)).unsigned = false;
+ else if (typeof object.intValue === "string")
+ message.intValue = parseInt(object.intValue, 10);
+ else if (typeof object.intValue === "number")
+ message.intValue = object.intValue;
+ else if (typeof object.intValue === "object")
+ message.intValue = new $util.LongBits(object.intValue.low >>> 0, object.intValue.high >>> 0).toNumber();
+ if (object.decimalValue != null) {
+ if (typeof object.decimalValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportValue.decimalValue: object expected");
+ message.decimalValue = $root.google.type.Decimal.fromObject(object.decimalValue);
+ }
+ if (object.moneyValue != null) {
+ if (typeof object.moneyValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportValue.moneyValue: object expected");
+ message.moneyValue = $root.google.type.Money.fromObject(object.moneyValue);
+ }
+ if (object.dateValue != null) {
+ if (typeof object.dateValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportValue.dateValue: object expected");
+ message.dateValue = $root.google.type.Date.fromObject(object.dateValue);
+ }
+ if (object.dateTimeValue != null) {
+ if (typeof object.dateTimeValue !== "object")
+ throw TypeError(".google.cloud.channel.v1.ReportValue.dateTimeValue: object expected");
+ message.dateTimeValue = $root.google.type.DateTime.fromObject(object.dateTimeValue);
+ }
+ return message;
+ };
+
+ /**
+ * Creates a plain object from a ReportValue message. Also converts values to other types if specified.
+ * @function toObject
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @static
+ * @param {google.cloud.channel.v1.ReportValue} message ReportValue
+ * @param {$protobuf.IConversionOptions} [options] Conversion options
+ * @returns {Object.} Plain object
+ */
+ ReportValue.toObject = function toObject(message, options) {
+ if (!options)
+ options = {};
+ var object = {};
+ if (message.stringValue != null && message.hasOwnProperty("stringValue")) {
+ object.stringValue = message.stringValue;
+ if (options.oneofs)
+ object.value = "stringValue";
+ }
+ if (message.intValue != null && message.hasOwnProperty("intValue")) {
+ if (typeof message.intValue === "number")
+ object.intValue = options.longs === String ? String(message.intValue) : message.intValue;
+ else
+ object.intValue = options.longs === String ? $util.Long.prototype.toString.call(message.intValue) : options.longs === Number ? new $util.LongBits(message.intValue.low >>> 0, message.intValue.high >>> 0).toNumber() : message.intValue;
+ if (options.oneofs)
+ object.value = "intValue";
+ }
+ if (message.decimalValue != null && message.hasOwnProperty("decimalValue")) {
+ object.decimalValue = $root.google.type.Decimal.toObject(message.decimalValue, options);
+ if (options.oneofs)
+ object.value = "decimalValue";
+ }
+ if (message.moneyValue != null && message.hasOwnProperty("moneyValue")) {
+ object.moneyValue = $root.google.type.Money.toObject(message.moneyValue, options);
+ if (options.oneofs)
+ object.value = "moneyValue";
+ }
+ if (message.dateValue != null && message.hasOwnProperty("dateValue")) {
+ object.dateValue = $root.google.type.Date.toObject(message.dateValue, options);
+ if (options.oneofs)
+ object.value = "dateValue";
+ }
+ if (message.dateTimeValue != null && message.hasOwnProperty("dateTimeValue")) {
+ object.dateTimeValue = $root.google.type.DateTime.toObject(message.dateTimeValue, options);
+ if (options.oneofs)
+ object.value = "dateTimeValue";
+ }
+ return object;
+ };
+
+ /**
+ * Converts this ReportValue to JSON.
+ * @function toJSON
+ * @memberof google.cloud.channel.v1.ReportValue
+ * @instance
+ * @returns {Object.